|
| iMatix home page | << | < | > | >> |
SMTVersion 2.81 |
#include "smtlib.h" int lazy_creat_text (char *path, int mode)
Calls the standard creat() function without blocking. (Actually, calls the open() function, but with the O_CREAT flag.) Returns a file handle when the call succeeds, else returns -1 and sets errno to the cause of the error. The file is always opened in text mode. We use open() so that we can force O_NONBLOCK. If the call would block, returns -1, sets errno to EAGAIN, and calls recycle module() to re-execute the current dialog module automatically. You can override this behavious by calling recycle module (FALSE) after the return. Sets the global variable "io_completed" to TRUE if the i/o access completed, with or without an error.
{
int rc;
#if (defined (SMT_TRACE))
trace ("lazy_create_text: path=%s", path);
#endif
rc = open (path, O_CREAT | O_WRONLY | O_TRUNC | O_NONBLOCK, mode);
set_io_completed (rc);
return (rc);
}
| | << | < | > | >> |
|