Lines Matching refs:fd
101 int fd; in tdctl_open() local
103 if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) { in tdctl_open()
112 if (connect(fd, (struct sockaddr *)&saddr, sizeof(saddr)) < 0) { in tdctl_open()
114 close(fd); in tdctl_open()
118 return fd; in tdctl_open()
121 static int ctl_talk(int fd, struct log_ctlmsg* msg, char* rsp, int rsplen) in ctl_talk() argument
125 if ((rc = write(fd, msg, sizeof(*msg))) < 0) { in ctl_talk()
136 if ((rc = read(fd, rsp, rsplen)) < 0) { in ctl_talk()
147 static int ctl_get_shmem(int fd, struct writelog* wl) in ctl_get_shmem() argument
157 if ((rc = ctl_talk(fd, &req, rsp, CTLRSPLEN_SHMP)) < 0) { in ctl_get_shmem()
177 static int ctl_get_writes(int fd) in ctl_get_writes() argument
185 if ((rc = ctl_talk(fd, &req, rsp, CTLRSPLEN_GET)) < 0) { in ctl_get_writes()
193 static int ctl_peek_writes(int fd) in ctl_peek_writes() argument
201 if ((rc = ctl_talk(fd, &req, rsp, CTLRSPLEN_PEEK)) < 0) { in ctl_peek_writes()
210 static int ctl_kick(int fd) in ctl_kick() argument
217 if ((rc = ctl_talk(fd, &req, NULL, 0)) < 0) { in ctl_kick()
225 static int ctl_clear_writes(int fd) in ctl_clear_writes() argument
233 if ((rc = ctl_talk(fd, &req, rsp, CTLRSPLEN_CLEAR)) < 0) { in ctl_clear_writes()
243 int fd; in writelog_map() local
246 if ((fd = shm_open(wl->shmpath, O_RDWR, 0750)) < 0) { in writelog_map()
252 wl->shm = mmap(NULL, wl->shmsize, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); in writelog_map()
253 close(fd); in writelog_map()
365 int get_writes(struct writelog* wl, int fd, int peek) in get_writes() argument
370 rc = ctl_peek_writes(fd); in get_writes()
372 rc = ctl_get_writes(fd); in get_writes()
382 int await_responses(struct writelog* wl, int fd) in await_responses() argument
388 if ((rc = read(fd, &msg, sizeof(msg))) < 0) { in await_responses()
418 int read_loop(struct writelog* wl, int fd) in read_loop() argument
422 if (get_writes(wl, fd, 1) < 0) in read_loop()
431 if (ctl_kick(fd) < 0) in read_loop()
435 if (wl->inflight && await_responses(wl, fd) < 0) in read_loop()
444 int fd; in main() local
458 fd = tdctl_open(argv[1]); in main()
460 if (ctl_get_shmem(fd, &wl) < 0) in main()
470 if (get_writes(&wl, fd, 1) < 0) in main()
475 if (ctl_clear_writes(fd) < 0) in main()
479 if (get_writes(&wl, fd, 0) < 0) in main()
484 if (read_loop(&wl, fd) < 0) in main()
493 close(fd); in main()