AC_CHECK_HEADERS([fcntl.h])
AC_CHECK_HEADERS([libgen.h])
AC_CHECK_HEADERS([netdb.h])
+AC_CHECK_HEADERS([signal.h])
AC_CHECK_HEADERS([stdint.h])
AC_CHECK_HEADERS([stdio.h])
AC_CHECK_HEADERS([stdlib.h])
AC_CHECK_FUNCS([shutdown])
AC_CHECK_FUNCS([socket])
AC_CHECK_FUNCS([stat])
+AC_CHECK_FUNCS([str2sig])
AC_CHECK_FUNCS([strcat])
AC_CHECK_FUNCS([strchr])
AC_CHECK_FUNCS([strcpy])
if (strcmp(name, "TERM") == 0)
return SIGTERM;
+#elif defined(__SOLARIS__)
+ int signum;
+
+ if (os::str2sig(name, &signum) == -1)
+ return -1;
+
+ return signum;
#else
-# error not implemented for this OS
+# error Not implemented for this OS.
#endif
return -1;
# endif
#endif
+#if defined(HAVE_SIGNAL_H)
+# include <signal.h>
+#endif
+
#if defined(HAVE_STDINT_H)
# include <stdint.h>
#endif
static inline int shutdown(int s, int how);
static inline int socket(int domain, int type, int protocol);
static inline int stat(const char* path, struct stat* buf);
+ static inline int str2sig(const char* str, int* signum);
static inline char* strcat(char* dest, const char* src);
static inline char* strcpy(char* dest, const char* src);
static inline char* strdup(const char* s);
#endif
}
+inline int os::str2sig(const char* str, int* signum)
+{
+#if defined(HAVE_STR2SIG)
+ return ::str2sig(str, signum);
+#else
+# error str2sig not available
+#endif
+}
+
inline char* os::strcat(char* dest, const char* src)
{
#if defined(HAVE_STRCAT)