[NeoStats-Devel] [Commits] r2511 - in trunk: include src
[email protected] Fri, 15 Apr 2005 07:12:55 +1000
Newsgroups
gmane.comp.neostats.devel
Message-ID
<[email protected] >
Author: Mark
Date: Fri Apr 15 05:12:52 2005
New Revision: 2511
Modified:
trunk/include/neostats.h
trunk/src/adnsevent.c
trunk/src/adnsquery.c
trunk/src/dns.c
trunk/src/osfile.c
trunk/src/ossocket.c
Log:
more ossocket layer work
Modified: trunk/include/neostats.h
==============================================================================
--- trunk/include/neostats.h (original)
+++ trunk/include/neostats.h Fri Apr 15 05:12:52 2005
@@ -1435,7 +1435,6 @@
* Portability wrapper functions
*/
-EXPORTVAR int os_errno;
/* File system functions */
EXPORTFUNC int os_mkdir( const char *filename, mode_t mode );
EXPORTFUNC int os_check_create_dir( const char *dirname );
@@ -1456,8 +1455,10 @@
EXPORTFUNC int os_close( int fd );
EXPORTFUNC int os_mkstemp( char *ftemplate );
EXPORTFUNC int os_write_temp_file( char *ftemplate, const void *buffer, unsigned int count );
-EXPORTFUNC char *os_strerror( void );
EXPORTFUNC int os_file_get_size( const char *filename );
+EXPORTVAR int os_file_errno;
+
+EXPORTFUNC char *os_strerror( void );
EXPORTFUNC size_t os_strftime( char *strDest, size_t maxsize, const char *format, const struct tm *timeptr );
EXPORTFUNC struct tm* os_localtime( const time_t *timer );
/* Socket functions */
@@ -1476,6 +1477,7 @@
EXPORTVAR int os_sock_errno;
EXPORTFUNC char *os_sock_getlasterrorstring( void );
EXPORTFUNC char *os_sock_strerror( const int sockerrno );
+EXPORTFUNC int os_sock_select( int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, const struct timeval* timeout );
/* Memory functions */
EXPORTFUNC void *os_memset( void *dest, int c, size_t count );
Modified: trunk/src/adnsevent.c
==============================================================================
--- trunk/src/adnsevent.c (original)
+++ trunk/src/adnsevent.c Fri Apr 15 05:12:52 2005
@@ -646,9 +646,8 @@
return 0;
}
-static void fd_event(adns_state ads, OS_SOCKET fd,
- int revent, int pollflag,
- int maxfd, const fd_set * fds,
+static void fd_event(adns_state ads, OS_SOCKET fd, int revent, int pollflag,
+ int maxfd, const fd_set * fds,
int (*func)(adns_state, OS_SOCKET fd, const struct timeval *now),
struct timeval now, int *r_r)
{
@@ -669,11 +668,9 @@
}
}
-void adns__fdevents(adns_state ads,
- const struct pollfd *pollfds, int npollfds,
- int maxfd, const fd_set * readfds,
- const fd_set * writefds, const fd_set * exceptfds,
- struct timeval now, int *r_r)
+void adns__fdevents(adns_state ads, const struct pollfd *pollfds, int npollfds,
+ int maxfd, const fd_set * readfds, const fd_set * writefds,
+ const fd_set * exceptfds, struct timeval now, int *r_r)
{
int i, revents;
OS_SOCKET fd;
@@ -813,8 +810,7 @@
adns_processany(ads);
}
-int adns__internal_check(adns_state ads,
- adns_query * query_io,
+int adns__internal_check(adns_state ads, adns_query * query_io,
adns_answer ** answer, void **context_r)
{
adns_query qu;
@@ -862,19 +858,15 @@
adns_beforeselect(ads, &maxfd, &readfds, &writefds,
&exceptfds, &tvp, &tvbuf, 0);
assert(tvp);
- ADNS_CLEAR_ERRNO;
- rsel = select(maxfd, &readfds, &writefds, &exceptfds, tvp);
- ADNS_CAPTURE_ERRNO;
+ rsel = os_sock_select(maxfd, &readfds, &writefds, &exceptfds, tvp);
if (rsel == -1) {
- if (errno == OS_SOCK_EINTR) {
+ if (os_sock_errno == OS_SOCK_EINTR) {
if (ads->iflags & adns_if_eintr) {
- r = OS_SOCK_EINTR;
+ r = os_sock_errno;
break;
}
} else {
- adns__diag(ads, -1, 0,
- "select failed in wait: %s",
- strerror(errno));
+ adns__diag(ads, -1, 0, "select failed in wait: %s", os_sock_getlasterrorstring());
adns_globalsystemfailure(ads);
}
} else {
Modified: trunk/src/adnsquery.c
==============================================================================
--- trunk/src/adnsquery.c (original)
+++ trunk/src/adnsquery.c Fri Apr 15 05:12:52 2005
@@ -221,9 +221,7 @@
return 1;
}
-int adns_submit(adns_state ads,
- const char *owner,
- adns_rrtype type,
+int adns_submit(adns_state ads, const char *owner, adns_rrtype type,
adns_queryflags flags, void *context, adns_query * query_r)
{
int r, ol, ndots;
@@ -306,11 +304,8 @@
return r;
}
-int adns_submit_reverse_any(adns_state ads,
- const struct sockaddr *addr,
- const char *zone,
- adns_rrtype type,
- adns_queryflags flags,
+int adns_submit_reverse_any(adns_state ads, const struct sockaddr *addr,
+ const char *zone, adns_rrtype type, adns_queryflags flags,
void *context, adns_query * query_r)
{
const unsigned char *iaddr;
@@ -322,9 +317,8 @@
if (addr->sa_family != AF_INET)
return ENOSYS;
- iaddr =
- (const unsigned char *) &(((const struct sockaddr_in *) addr)->
- sin_addr);
+ iaddr = (const unsigned char *)
+ &(((const struct sockaddr_in *) addr)->sin_addr);
lreq = strlen(zone) + 4 * 4 + 1;
if (lreq > sizeof(shortbuf)) {
@@ -336,18 +330,14 @@
buf = shortbuf;
buf_free = 0;
}
- sprintf(buf, "%d.%d.%d.%d.%s", iaddr[3], iaddr[2], iaddr[1],
- iaddr[0], zone);
-
+ sprintf(buf, "%d.%d.%d.%d.%s", iaddr[3], iaddr[2], iaddr[1], iaddr[0], zone);
r = adns_submit(ads, buf, type, flags, context, query_r);
ns_free(buf_free);
return r;
}
-int adns_submit_reverse(adns_state ads,
- const struct sockaddr *addr,
- adns_rrtype type,
- adns_queryflags flags,
+int adns_submit_reverse(adns_state ads, const struct sockaddr *addr,
+ adns_rrtype type, adns_queryflags flags,
void *context, adns_query * query_r)
{
if (type != adns_r_ptr && type != adns_r_ptr_raw)
@@ -356,9 +346,7 @@
flags, context, query_r);
}
-int adns_synchronous(adns_state ads,
- const char *owner,
- adns_rrtype type,
+int adns_synchronous(adns_state ads, const char *owner, adns_rrtype type,
adns_queryflags flags, adns_answer ** answer_r)
{
adns_query qu;
@@ -418,8 +406,7 @@
return alloc_common(qu, MEM_ROUND(sz));
}
-void adns__transfer_interim(adns_query from, adns_query to, void *block,
- size_t sz)
+void adns__transfer_interim(adns_query from, adns_query to, void *block, size_t sz)
{
allocnode *an;
@@ -523,8 +510,7 @@
adns__consistency(ads, 0, cc_entex);
}
-void adns__update_expires(adns_query qu, unsigned long ttl,
- struct timeval now)
+void adns__update_expires(adns_query qu, unsigned long ttl, struct timeval now)
{
time_t max;
Modified: trunk/src/dns.c
==============================================================================
--- trunk/src/dns.c (original)
+++ trunk/src/dns.c Fri Apr 15 05:12:52 2005
@@ -331,7 +331,7 @@
}
/* there was an error */
if (status) {
- nlog (LOG_CRITICAL, "DNS: Baaaad error on adns_check: %s. Please report to NeoStats Group", strerror (status));
+ nlog (LOG_CRITICAL, "DNS: Bad error on adns_check: %s. Please report to NeoStats", strerror (status));
irc_chanalert (ns_botptr, "Bad Error on DNS lookup. Please check logfile");
DNSStats.failure++;
/* call the callback function with answer set to NULL */
Modified: trunk/src/osfile.c
==============================================================================
--- trunk/src/osfile.c (original)
+++ trunk/src/osfile.c Fri Apr 15 05:12:52 2005
@@ -33,7 +33,7 @@
#include <fcntl.h>
#endif
-int os_errno;
+int os_file_errno;
static char tempbuf[BUFSIZE*2];
/*
@@ -49,7 +49,7 @@
#else
retval = mkdir( filename, mode );
#endif
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -95,7 +95,7 @@
FILE *retval;
retval = fopen( filename, filemode );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -108,7 +108,7 @@
int retval;
retval = fclose( handle );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -121,7 +121,7 @@
int retval;
retval = fseek( handle, offset, origin );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -134,7 +134,7 @@
int retval;
retval = ftell( handle );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -151,7 +151,7 @@
ircvsnprintf( tempbuf, BUFSIZE*2, fmt, ap );
va_end( ap );
retval = fprintf( handle, "%s", tempbuf );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -164,7 +164,7 @@
int retval;
retval = fputs( string, handle );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -177,7 +177,7 @@
int retval;
retval = fread( buffer, size, count, handle );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -190,7 +190,7 @@
char *retval;
retval = fgets( string, n, handle );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -203,7 +203,7 @@
int retval;
retval = fwrite( buffer, size, count, handle );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -216,7 +216,7 @@
int retval;
retval = fflush( handle );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -234,7 +234,7 @@
*/
remove( newname );
retval = rename( oldname, newname );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -247,7 +247,7 @@
int retval;
retval = stat( path, buffer );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -260,7 +260,7 @@
int retval;
retval = access( path, mode );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -273,7 +273,7 @@
int retval;
retval = write( fd, buffer, count );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -286,7 +286,7 @@
int retval;
retval = close( fd );
- os_errno = errno;
+ os_file_errno = errno;
return retval;
}
@@ -304,8 +304,7 @@
if( name )
{
retval = open( name, _O_CREAT, _S_IREAD | _S_IWRITE );
- os_errno = errno;
- printf( strerror( errno ) );
+ os_file_errno = errno;
return retval;
}
return -1;
Modified: trunk/src/ossocket.c
==============================================================================
--- trunk/src/ossocket.c (original)
+++ trunk/src/ossocket.c Fri Apr 15 05:12:52 2005
@@ -41,8 +41,12 @@
char *os_sock_strerror( const int sockerrno )
{
#ifdef WIN32
- switch( errno )
+ static char unknown[256];
+
+ switch( sockerrno )
{
+ case 0:
+ return "No Error";
case WSAEINTR:
/* 10004 */
return "Interrupted function call.";
@@ -271,14 +275,24 @@
default:
break;
}
- return "No Error";
+ sprintf( unknown, "Unknown error %d", sockerrno );
+ return unknown;
#else /* WIN32 */
return strerror( sockerrno );
#endif /* WIN32 */
}
/*
- * Wrapper function for sock_close
+ *
+ */
+
+char *os_sock_getlasterrorstring( void )
+{
+ return os_sock_strerror( os_sock_errno );
+}
+
+/*
+ * Wrapper function for close
*/
int os_sock_close( OS_SOCKET sock )
@@ -291,7 +305,7 @@
}
/*
- * Wrapper function for sock_write
+ * Wrapper function for write
*/
int os_sock_write( OS_SOCKET s, const char* buf, int len )
@@ -333,7 +347,7 @@
}
/*
- * Wrapper function for sock_read
+ * Wrapper function for read
*/
int os_sock_read( OS_SOCKET s, char* buf, int len )
@@ -375,7 +389,7 @@
}
/*
- * Wrapper function for sock_set_nonblocking
+ * Wrapper function for set_nonblocking
*/
int os_sock_set_nonblocking( OS_SOCKET s )
@@ -518,10 +532,21 @@
}
/*
- *
+ * Wrapper function for select
*/
-char *os_sock_getlasterrorstring( void )
-{
- return os_sock_strerror( os_sock_errno );
+int os_sock_select( int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, const struct timeval* timeout )
+{
+ int ret;
+
+ /* reset local errno implementation */
+ os_sock_errno = 0;
+ ret = select( nfds, readfds, writefds, exceptfds, timeout );
+ if( ret == SOCKET_ERROR )
+ {
+ OS_SOCK_SET_ERRNO();
+ nlog( LOG_WARNING, "os_sock_select: select failed %s", os_sock_strerror( os_sock_errno ) );
+ }
+ return ret;
}
+