aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2022-08-21 13:34:06 +1000
committerSteve Bennett <steveb@workware.net.au>2022-08-21 13:44:11 +1000
commitb34568b240e5dc7195fb1000aebb4fababd8850c (patch)
treefdad5c63588b156f8e53a8b0d3b2b72af0ef0e51
parent6afd4fc5319204651614e531a94f97b172740517 (diff)
downloadjimtcl-b34568b240e5dc7195fb1000aebb4fababd8850c.zip
jimtcl-b34568b240e5dc7195fb1000aebb4fababd8850c.tar.gz
jimtcl-b34568b240e5dc7195fb1000aebb4fababd8850c.tar.bz2
aio: socket filename should provide something useful if possible
For socket types that take an address, it would be useful to return that with 'filename'. If not, we can continue to return the socket type.
-rw-r--r--jim-aio.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/jim-aio.c b/jim-aio.c
index 29207da..bbe7a18 100644
--- a/jim-aio.c
+++ b/jim-aio.c
@@ -2158,7 +2158,7 @@ static int JimAioOpenPtyCommand(Jim_Interp *interp, int argc, Jim_Obj *const *ar
return JIM_ERR;
}
- /* Note: The slave path will be used for both master and slave */
+ /* Note: The replica path will be used for both handles slave */
return JimMakeChannelPair(interp, p, Jim_NewStringObj(interp, path, -1), "aio.pty%ld", 0, mode);
}
#endif
@@ -2200,6 +2200,7 @@ static int JimAioSockCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
const char *addr = NULL;
const char *bind_addr = NULL;
const char *connect_addr = NULL;
+ Jim_Obj *filename = NULL;
union sockaddr_any sa;
socklen_t salen;
int on = 1;
@@ -2251,6 +2252,7 @@ static int JimAioSockCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
if (argc > 2) {
addr = Jim_String(argv[2]);
+ filename = argv[2];
}
#if defined(HAVE_SOCKETPAIR) && UNIX_SOCKETS
@@ -2416,8 +2418,11 @@ static int JimAioSockCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
return JIM_ERR;
}
}
+ if (!filename) {
+ filename = argv[1];
+ }
- return JimMakeChannel(interp, NULL, sock, argv[1], "aio.sock%ld", family, "r+", 0) ? JIM_OK : JIM_ERR;
+ return JimMakeChannel(interp, NULL, sock, filename, "aio.sock%ld", family, "r+", 0) ? JIM_OK : JIM_ERR;
}
#endif /* JIM_BOOTSTRAP */