fb431cef586dc66515237aed8efbdf50753f72fd
Stefan Schuermans first incomplete begin_proc...

Stefan Schuermans authored 4 years ago

1) #include "write.h"
2) 
Stefan Schuermans implement proc_end event

Stefan Schuermans authored 4 years ago

3) #include <fcntl.h>
Stefan Schuermans first incomplete begin_proc...

Stefan Schuermans authored 4 years ago

4) #include <stdlib.h>
Stefan Schuermans implement proc_end event

Stefan Schuermans authored 4 years ago

5) #include <string.h>
6) #include <sys/file.h>
7) #include <unistd.h>
Stefan Schuermans first incomplete begin_proc...

Stefan Schuermans authored 4 years ago

8) 
9) void lwptpl_write(void const *data, size_t size) {
Stefan Schuermans implement proc_end event

Stefan Schuermans authored 4 years ago

10)   if (! data || ! size) {
11)     return;
12)   }
13)   char const *filename = getenv("LWPTPL_OUTPUT");
14)   if (! filename) {
15)     return;
16)   }
17)   int fd = open(filename, O_WRONLY | O_APPEND);
18)   if (fd == -1) {
19)     return;
20)   }
21)   if (flock(fd, LOCK_EX) == -1) {
22)     close(fd);
23)     return;
24)   }
25)   write(fd, data, size);
26)   flock(fd, LOCK_UN);
27)   close(fd);