mirror of /home/gitosis/repositories/libev.git
ev_avoid_stdio
parent
e696c1caec
commit
fc46c565f4
23
ev.c
23
ev.c
|
@ -186,6 +186,7 @@ extern "C" {
|
|||
# ifndef EV_SELECT_IS_WINSOCKET
|
||||
# define EV_SELECT_IS_WINSOCKET 1
|
||||
# endif
|
||||
# undef EV_AVOID_STDIO
|
||||
#endif
|
||||
|
||||
/* this block tries to deduce configuration from header-defined symbols and defaults */
|
||||
|
@ -526,6 +527,14 @@ static EV_ATOMIC_T have_monotonic; /* did clock_gettime (CLOCK_MONOTONIC) work?
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
#if EV_AVOID_STDIO
|
||||
static void noinline
|
||||
ev_printerr (const char *msg)
|
||||
{
|
||||
write (STDERR_FILENO, msg, strlen (msg));
|
||||
}
|
||||
#endif
|
||||
|
||||
static void (*syserr_cb)(const char *msg);
|
||||
|
||||
void
|
||||
|
@ -545,11 +554,12 @@ ev_syserr (const char *msg)
|
|||
else
|
||||
{
|
||||
#if EV_AVOID_STDIO
|
||||
write (STDERR_FILENO, msg, strlen (msg));
|
||||
write (STDERR_FILENO, ": ", 2);
|
||||
msg = strerror (errno);
|
||||
write (STDERR_FILENO, msg, strlen (msg));
|
||||
write (STDERR_FILENO, "\n", 1);
|
||||
const char *err = strerror (errno);
|
||||
|
||||
ev_printerr (msg);
|
||||
ev_printerr (": ");
|
||||
ev_printerr (err);
|
||||
ev_printerr ("\n");
|
||||
#else
|
||||
perror (msg);
|
||||
#endif
|
||||
|
@ -588,8 +598,7 @@ ev_realloc (void *ptr, long size)
|
|||
if (!ptr && size)
|
||||
{
|
||||
#if EV_AVOID_STDIO
|
||||
write (STDERR_FILENO, "libev: memory allocation failed, aborting.",
|
||||
sizeof ("libev: memory allocation failed, aborting.") - 1);
|
||||
ev_printerr ("libev: memory allocation failed, aborting.\n");
|
||||
#else
|
||||
fprintf (stderr, "libev: cannot allocate %ld bytes, aborting.", size);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue