[NeoStats-Devel] [Commits] r2511 - in trunk: include src

[email protected]
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;
 }
+
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.