redefined MEM macros

This commit is contained in:
hyung-hwan 2019-01-31 13:27:37 +00:00
parent ac65312bf2
commit d583cf2514
2 changed files with 59 additions and 7 deletions

View File

@ -315,6 +315,7 @@ static int pro_on_read (mio_dev_pro_t* pro, mio_dev_pro_sid_t sid, const void* d
static int pro_on_write (mio_dev_pro_t* pro, mio_iolen_t wrlen, void* wrctx) static int pro_on_write (mio_dev_pro_t* pro, mio_iolen_t wrlen, void* wrctx)
{ {
mio_t* mio = pro->mio; mio_t* mio = pro->mio;
mio_ntime_t tmout;
if (wrlen <= -1) if (wrlen <= -1)
{ {
MIO_INFO1 (mio, "PROCESS(%d): WRITE TIMED OUT...\n", (int)pro->child_pid); MIO_INFO1 (mio, "PROCESS(%d): WRITE TIMED OUT...\n", (int)pro->child_pid);
@ -323,7 +324,9 @@ static int pro_on_write (mio_dev_pro_t* pro, mio_iolen_t wrlen, void* wrctx)
} }
MIO_DEBUG2 (mio, "PROCESS(%d) wrote data of %d bytes\n", (int)pro->child_pid, (int)wrlen); MIO_DEBUG2 (mio, "PROCESS(%d) wrote data of %d bytes\n", (int)pro->child_pid, (int)wrlen);
mio_dev_pro_read (pro, MIO_DEV_PRO_OUT, 1); /*mio_dev_pro_read (pro, MIO_DEV_PRO_OUT, 1);*/
MIO_INIT_NTIME (&tmout, 5, 0);
mio_dev_pro_timedread (pro, MIO_DEV_PRO_OUT, 1, &tmout);
return 0; return 0;
} }

View File

@ -31,12 +31,61 @@
#include "mio-utl.h" #include "mio-utl.h"
#include <stdarg.h> #include <stdarg.h>
/*TODO: redefine and remove these */ #if defined(__has_builtin)
#include <string.h>
#define MIO_MEMSET(dst,byte,count) memset(dst,byte,count) # if (!__has_builtin(__builtin_memset) || !__has_builtin(__builtin_memcpy) || !__has_builtin(__builtin_memmove) || !__has_builtin(__builtin_memcmp))
#define MIO_MEMCPY(dst,src,count) memcpy(dst,src,count) # include <string.h>
#define MIO_MEMMOVE(dst,src,count) memmove(dst,src,count) # endif
#define MIO_MEMCMP(dst,src,count) memcmp(dst,src,count)
# if __has_builtin(__builtin_memset)
# define MIO_MEMSET(dst,src,size) __builtin_memset(dst,src,size)
# else
# define MIO_MEMSET(dst,src,size) memset(dst,src,size)
# endif
# if __has_builtin(__builtin_memcpy)
# define MIO_MEMCPY(dst,src,size) __builtin_memcpy(dst,src,size)
# else
# define MIO_MEMCPY(dst,src,size) memcpy(dst,src,size)
# endif
# if __has_builtin(__builtin_memmove)
# define MIO_MEMMOVE(dst,src,size) __builtin_memmove(dst,src,size)
# else
# define MIO_MEMMOVE(dst,src,size) memmove(dst,src,size)
# endif
# if __has_builtin(__builtin_memcmp)
# define MIO_MEMCMP(dst,src,size) __builtin_memcmp(dst,src,size)
# else
# define MIO_MEMCMP(dst,src,size) memcmp(dst,src,size)
# endif
#else
# if defined(HAVE___BUILTIN_MEMSET) || !defined(HAVE___BUILTIN_MEMCPY) || !defined(HAVE___BUILTIN_MEMMOVE) || !defined(HAVE___BUILTIN_MEMCMP)
# include <string.h>
# endif
# if defined(HAVE___BUILTIN_MEMSET)
# define MIO_MEMSET(dst,src,size) __builtin_memset(dst,src,size)
# else
# define MIO_MEMSET(dst,src,size) memset(dst,src,size)
# endif
# if defined(HAVE___BUILTIN_MEMCPY)
# define MIO_MEMCPY(dst,src,size) __builtin_memcpy(dst,src,size)
# else
# define MIO_MEMCPY(dst,src,size) memcpy(dst,src,size)
# endif
# if defined(HAVE___BUILTIN_MEMMOVE)
# define MIO_MEMMOVE(dst,src,size) __builtin_memmove(dst,src,size)
# else
# define MIO_MEMMOVE(dst,src,size) memmove(dst,src,size)
# endif
# if defined(HAVE___BUILTIN_MEMCMP)
# define MIO_MEMCMP(dst,src,size) __builtin_memcmp(dst,src,size)
# else
# define MIO_MEMCMP(dst,src,size) memcmp(dst,src,size)
# endif
#endif
/* ========================================================================= /* =========================================================================
* MIO ASSERTION * MIO ASSERTION