[64153] trunk/base/src/pextlib1.0/tracelib.c

raimue at macports.org raimue at macports.org
Tue Feb 23 16:07:53 PST 2010


Revision: 64153
          http://trac.macports.org/changeset/64153
Author:   raimue at macports.org
Date:     2010-02-23 16:07:50 -0800 (Tue, 23 Feb 2010)
Log Message:
-----------
pextlib1.0/tracelib.c: Add error handling

Modified Paths:
--------------
    trunk/base/src/pextlib1.0/tracelib.c

Modified: trunk/base/src/pextlib1.0/tracelib.c
===================================================================
--- trunk/base/src/pextlib1.0/tracelib.c	2010-02-23 21:54:17 UTC (rev 64152)
+++ trunk/base/src/pextlib1.0/tracelib.c	2010-02-24 00:07:50 UTC (rev 64153)
@@ -380,6 +380,13 @@
 		return 0;
 	}
 	sock=socket(AF_UNIX, SOCK_STREAM, 0);
+	if (sock == -1) {
+		Tcl_SetErrno(errno);
+		Tcl_ResetResult(interp);
+		Tcl_AppendResult(interp, "socket: ", (char *) Tcl_PosixError(interp), NULL);
+		pthread_mutex_unlock(&sock_mutex);
+		return TCL_ERROR;
+	}
 	pthread_mutex_unlock(&sock_mutex);
 	
 	interp=in;
@@ -397,13 +404,19 @@
 	
 	sun.sun_family=AF_UNIX;
 	strlcpy(sun.sun_path, name, sizeof(sun.sun_path));
-	if(bind(sock, (struct sockaddr*)&sun, sizeof(sun))==-1)
-	{
-		Tcl_SetResult(interp, "Cannot bind socket", TCL_STATIC);
+	if (bind(sock, (struct sockaddr*)&sun, sizeof(sun)) == -1) {
+		Tcl_SetErrno(errno);
+		Tcl_ResetResult(interp);
+		Tcl_AppendResult(interp, "bind: ", (char *) Tcl_PosixError(interp), NULL);
 		return TCL_ERROR;
 	}
 	
-	listen(sock, 5);
+	if (listen(sock, 5) == -1) {
+		Tcl_SetErrno(errno);
+		Tcl_ResetResult(interp);
+		Tcl_AppendResult(interp, "listen: ", (char *) Tcl_PosixError(interp), NULL);
+		return TCL_ERROR;
+	}
 	max_used=0;
 	max_fd=sock;
 	
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100223/838c719b/attachment.html>


More information about the macports-changes mailing list