chiark / gitweb /
regress: Make special arrangements for close()
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 27 Nov 2016 10:09:49 +0000 (10:09 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 11 Jun 2020 15:13:02 +0000 (16:13 +0100)
fuzzraw wants to track fds, so we can't just pass to through there.

All the other sites get a macro hm_stdsyscall_close to just get
the simple version.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
regress/harness.h.m4
regress/hcommon.c.m4
regress/hfuzzraw.c.m4
regress/hplayback.c.m4
regress/hrecord.c.m4
regress/hsyscalls.i4

index ca0eeb0a19af7b40968afd4fea7c25b402f20e06..65c0ba68778a0dabca2a740c613c211d535d639a 100644 (file)
@@ -39,6 +39,7 @@ hm_create_proto_q
 m4_define(`hm_syscall', `void Q$1(hm_args_massage($3,void));')
 m4_define(`hm_specsyscall', `')
 m4_include(`hsyscalls.i4')
+hm_stdsyscall_close
 
 void Q_vb(void);
 
index ced161241d6acf60c37910812f24180efe25764d..a20ee178052d9f41d5ce21524bd6d1a56c122f82 100644 (file)
@@ -134,6 +134,8 @@ m4_define(`hm_specsyscall', `')
 
 m4_include(`hsyscalls.i4')
 
+hm_stdsyscall_close
+
 void Tvbaddr(const struct sockaddr *addr, int len) {
   char buf[ADNS_ADDR2TEXT_BUFLEN];
   int err, port;
index c575ddb208b0269f01c06fddc0689199051f9889..c9c24ce3fe04fc2a577b1b5d46ebf46f8149700b 100644 (file)
@@ -246,3 +246,10 @@ m4_define(`hm_specsyscall', `')
 
 m4_include(`hsyscalls.i4')
 
+int Hclose(int fd) {
+  int r;
+  P_fdf(fd);
+  fdtab.buf[fd]= 0;
+  hm_rv_succfail
+  return r;
+}
index 916f97daee2ff010dcecdd31a3b1a069a37184f5..547dfe4efc43483ce137f776ab570c7b1fe8fcbd 100644 (file)
@@ -397,3 +397,5 @@ int H$1(hm_args_massage($3,void)) {
 m4_define(`hm_specsyscall', `')
 
 m4_include(`hsyscalls.i4')
+
+hm_stdsyscall_close
index e7e660612ee296929be7c512eb5846938fc31c22..f23df33a8960634b2a13c789901a2b11fd32dace 100644 (file)
@@ -156,3 +156,5 @@ int H$1(hm_args_massage($3,void)) {
 m4_define(`hm_specsyscall', `')
 
 m4_include(`hsyscalls.i4')
+
+hm_stdsyscall_close
index 57270d8662e5debf0aab3b388a0dc2af879d7b8b..9ad7eb28b2ca9db5f03083397bd025a840eddbc8 100644 (file)
@@ -100,11 +100,6 @@ hm_syscall(
        hm_arg_int(backlog) hm_na
 ')
 
-hm_syscall(
-       close, `hm_rv_succfail', `
-       hm_arg_fd(fd) hm_na
-')
-
 hm_syscall(
        sendto, `hm_rv_any', `
        hm_arg_fd(fd) hm_na
@@ -136,6 +131,14 @@ hm_syscall(
 hm_specsyscall(int, writev, `int fd, const struct iovec *vector, size_t count')
 hm_specsyscall(int, gettimeofday, `struct timeval *tv, struct timezone *tz')
 hm_specsyscall(pid_t, getpid, `void')
+hm_specsyscall(int, close, `int fd')
+
+m4_define(hm_stdsyscall_close,`
+hm_syscall(
+       close, `hm_rv_succfail', `
+       hm_arg_fd(fd) hm_na
+')
+')
 
 hm_specsyscall(void*, malloc, `size_t sz')
 hm_specsyscall(void, free, `void *ptr')