Merge branch 'master' of ssh://roach.truelite.it/srv/git/gapil
authorSimone Piccardi <piccardi@gnulinux.it>
Sat, 17 Aug 2019 12:48:38 +0000 (14:48 +0200)
committerSimone Piccardi <piccardi@gnulinux.it>
Sat, 17 Aug 2019 12:48:38 +0000 (14:48 +0200)
33 files changed:
build.tex
errors.tex
fileadv.tex
filedir.tex
fileio.tex
gapil.tex
intro.tex
ipc.tex
macro.tex
netlayer.tex
network.tex
othersock.tex
preambolo.tex
pref.tex
procadv.tex
process.tex
prochand.tex
ringraziamenti.tex
session.tex
signal.tex
sockadv.tex
sockctrl.tex
socket.tex
sources/Flock.c
sources/FortuneClient.c
sources/Gapil.h
sources/Makefile
sources/getparam.c
sources/test_linkat.c
system.tex
tcpsock.tex
thread.tex
trasplayer.tex

index 09530a5b31917307bb658b101742b1cf5cf7c2ce..cec0b2db85a160121f3e283e6dceb636fba256d1 100644 (file)
--- a/build.tex
+++ b/build.tex
@@ -1,6 +1,6 @@
 %% build.tex
 %%
-%% Copyright (C) 1999-2018 Simone Piccardi.  Permission is granted to copy,
+%% Copyright (C) 1999-2019 Simone Piccardi.  Permission is granted to copy,
 %% distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 0d40a33ec772766a88a71dd3ef364253a574314f..2aa52240b30bbe0b41e2ab8ce9dcd969a2b90db5 100644 (file)
@@ -1,6 +1,6 @@
 %% errors.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 20e8200fca41177511b88441c6a68c3c4d37fbea..45a5615e5b633d5e398bc3059de161c8e67a5148 100644 (file)
@@ -1,6 +1,6 @@
 %% fileadv.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 90e731ed20cb0229a536f63412314f1814abc5eb..d2558c5f26749b3ffae0d238cdbe81faf3c81b1e 100644 (file)
@@ -1,6 +1,6 @@
 %% filedir.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
@@ -1402,6 +1402,9 @@ trattazione, di queste funzioni, rimandando al manuale della \acr{glibc}
 % TODO (bassa priorità) scrivere delle funzioni (getfsent e getmntent &C)
 % TODO (bassa priorità) documentare ? swapon e swapoff (man 2 ...) 
 
+% TODO con il 5.2 è stata introdotta una serie di nuove syscall per montare un
+% filesystem, vedi https://lwn.net/Articles/759499/ e
+% https://git.kernel.org/linus/f1b5618e013a 
 
 
 \section{La gestione di file e directory}
index 94ac81d85e58638e9718a224be8b2114b2dfb22b..27c02ac1ffd23bf118b8612e24caec7c64971ca2 100644 (file)
@@ -1,6 +1,6 @@
 %% fileio.tex (merge fileunix.tex - filestd.tex)
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index f9107991d442ecc99005243d9ce7e56f98b9ba2b..4439b5bc871f2814507fddc398c3c268873a9c1e 100644 (file)
--- a/gapil.tex
+++ b/gapil.tex
@@ -1,6 +1,6 @@
 %% gapil.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.3 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
@@ -136,7 +136,7 @@ hyperfootnotes=false]{hyperref}
 
 \begin{quote}
   
-  Copyright \copyright\ 2000-2018 Simone Piccardi.  Permission is granted to
+  Copyright \copyright\ 2000-2019 Simone Piccardi.  Permission is granted to
   copy, distribute and/or modify this document under the terms of the GNU Free
   Documentation License, Version 1.3 or any later version published by the
   Free Software Foundation; with the Invariant Sections being ``Un preambolo''
index bf872b89cd7ee4ce83997e9ed0c58ced0fbc34ef..4059f5ea05c8fadaad46b3b9dc00b00a83e001ef 100644 (file)
--- a/intro.tex
+++ b/intro.tex
@@ -1,6 +1,6 @@
 %% intro.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
diff --git a/ipc.tex b/ipc.tex
index fced05b29e280b8bb6afecc95ea317c99a1c962e..f50eeacf5de91bf3e075ddbcbf35d5ecf1fb3da4 100644 (file)
--- a/ipc.tex
+++ b/ipc.tex
@@ -1,6 +1,6 @@
 %% ipc.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 564d0b286d99ef5454c02da8c25cbe9dfaf5ab41..3cd6b92c643399c7d855f5fe027b06e0b58ecee8 100644 (file)
--- a/macro.tex
+++ b/macro.tex
@@ -1,6 +1,6 @@
 %% macro.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 45239b467be5404140efd48b552bb9ea47faa016..4ed5260559a9e947dcdc98a597731c35566238cc 100644 (file)
@@ -1,6 +1,6 @@
 %% netlayer.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 56120dfd77deac03a47393808e162c2fa6b56f1d..dde8230c6171e0e27670efe095c373c0007cfb11 100644 (file)
@@ -1,6 +1,6 @@
 %% network.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index bffd4aeb1eb1b685c97bdac60eca1f6b29033282..325fb0d02745c2c674e6c05fbb35ca8d840c2ced 100644 (file)
@@ -1,6 +1,6 @@
 %% othersock.tex
 %%
-%% Copyright (C) 2004-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2004-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 50be429ab414a64ecb6d739af5c9bfc6e0c0c952..522eb139567002e742158b37fc13f42d96a48c10 100644 (file)
@@ -1,6 +1,6 @@
 %% preambolo.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 42ec8440facf64f6dee9b800b87d77dad7129ce7..4659e921032acbbe55cc55a15e8e3084534d65af 100644 (file)
--- a/pref.tex
+++ b/pref.tex
@@ -1,6 +1,6 @@
 %% pref.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 0a5c44168e36a8c4b2c874941001f59051db9410..d44570f022db1b78063b008b41eabee32c627d86 100644 (file)
@@ -1941,6 +1941,9 @@ si intende creare un \textit{thread}. L'esecuzione del programma creato da
 \func{sys\_clone} riprende, come per \func{fork}, da dopo l'esecuzione della
 stessa.
 
+% TODO trattare anche clone3 (vedi https://lwn.net/Articles/792628/), aggiunta
+% con il kernel 5.3
+
 La necessità di avere uno \textit{stack} alternativo c'è solo quando si
 intende creare un \textit{thread}, in tal caso infatti il nuovo \textit{task}
 vede esattamente la stessa memoria del \textit{task}
@@ -2123,6 +2126,9 @@ elenco, che illustra quelle attualmente disponibili:\footnote{si fa
 \item[\constd{CLONE\_PARENT\_SETTID}]
 \item[\constd{CLONE\_PID}]
 
+% TODO trattare CLONE_PIDFD introdotto con il kernel 5.2, vedi
+% https://lwn.net/Articles/787963/ e anche https://lwn.net/Articles/789023/
+  
 \item[\constd{CLONE\_PTRACE}] se questo flag viene impostato ed il processo
   chiamante viene tracciato (vedi sez.~\ref{sec:process_ptrace}) anche il
   figlio viene tracciato. 
@@ -2193,6 +2199,13 @@ degli altri gruppi, che costituisce poi quello che viene chiamato un
 \label{sec:process_special}
 
 
+% TODO: trattare userfaultfd, introdotta con il 4.23, vedi
+% http://man7.org/linux/man-pages/man2/userfaultfd.2.html 
+
+% TODO: trattare process_vm_readv/process_vm_writev introdotte con il kernel
+% 3.2, vedi http://man7.org/linux/man-pages/man2/process_vm_readv.2.html e i
+% precedenti tentativi https://lwn.net/Articles/405346/
+
 
 \subsection{La gestione delle operazioni in virgola mobile}
 \label{sec:process_fenv}
index f4447452f0c37c03e2b75a82d365d694553fe99b..cb1fa55c6d08085c353b156bc01fab9ba1de09c9 100644 (file)
@@ -1,6 +1,6 @@
 %% process.tex
 %%
-%% Copyright (C) 2000-2018 by Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 by Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 3b69db30008c7254038bb4329c7e34d500647e49..3da6fafb9f43c8b82946d324adfa6afbf8e5007c 100644 (file)
@@ -1,6 +1,6 @@
 %% prochand.tex
 %%
-%% Copyright (C) 2000-2018 by Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 by Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index b9b7321b706fb7d8a7c045296ef8a32af7b63a7a..6d4e77e1b06faef75afb2016de2a1ecfcf3acecd 100644 (file)
@@ -1,6 +1,6 @@
 %% ringraziamenti.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 0fbe521802cf9819d9682edcf176b6b1842973ad..639cf0dd90d7892a921f4737fcd7f647ef20d3d3 100644 (file)
@@ -1,6 +1,6 @@
 %% session.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 965ec01b6868df10298c51fab0435cbf5bca7c45..59ef5454a396e98faae4daad8fce8130888a357e 100644 (file)
@@ -1,6 +1,6 @@
 %% signal.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
@@ -1292,6 +1292,8 @@ eventuali funzioni registrate con \func{atexit} e \func{on\_exit}.
 % usare un PID, vedi anche https://lwn.net/Articles/773459/,
 % https://git.kernel.org/linus/3eb39f47934f 
 
+% TODO c'è pure pidfd_open() (vedi https://lwn.net/Articles/789023/) per
+% ottere un pid fd pollabile aggiunta con il kernel 5.3
 
 \subsection{Le funzioni di allarme ed i \textit{timer}}
 \label{sec:sig_alarm_abort}
@@ -3655,6 +3657,9 @@ In questo ultimo paragrafo esamineremo le rimanenti funzioni di gestione dei
 segnali non descritte finora, relative agli aspetti meno utilizzati e più
 ``\textsl{esoterici}'' della interfaccia.
 
+% TODO: trattare (qui?) pidfd_send_signal() introdotta con il kernel 5.1 vedi
+% https://lwn.net/Articles/784831/ e https://lwn.net/Articles/773459/
+
 La prima di queste funzioni è la funzione di sistema \funcd{sigpending},
 anch'essa introdotta dallo standard POSIX.1, il suo prototipo è:
 
index 98cb8dcbf0c88120e9951d4d065fc5eff4c122d6..a9e4cd530383947868624e9cf6fcbe7967089df9 100644 (file)
@@ -1,6 +1,6 @@
 %% sockadv.tex
 %%
-%% Copyright (C) 2004-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2004-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 6cafe13e66ca192ee12755940f1e66113cc51367..9d5279e6ab62856b34ff617697608b440c23c03e 100644 (file)
@@ -1,6 +1,6 @@
 %% sockctrl.tex
 %%
-%% Copyright (C) 2004-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2004-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Prefazione",
index 78be58c98d39c4761ca917cf490bfcf3f0fb56ca..b01ff3aa67a6f224db9e52899f7397e46daa406e 100644 (file)
@@ -1,6 +1,6 @@
 %% socket.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index 82790ec551835be75ac598a59fdf573e859f3216..90e76614f23b92f2c109d136ea10b837b253d83e 100644 (file)
@@ -36,7 +36,7 @@
 #include <stdio.h>      /* standard I/O library */
 #include <string.h>      /* C strings library */
 #include <fcntl.h>       /* file control functions */
-
+#include <sys/file.h>
 
 /* user defined header */
 #include "macros.h"      /* some useful macros */
index 5d8ba0af50d8c340e9d311cdb9cdaac58273d373..99af385be0e9ae9eb5ef1880b7c6e033d096be17 100644 (file)
@@ -38,6 +38,7 @@
 #include <fcntl.h>       /* file control functions */
 #include <string.h>     /* C strings library */
 #include <limits.h>      /* system limits constants, types and functions */
+#include <sys/stat.h>
 
 #include "macros.h"
 
index dc421f44e1c91f2333305d7712c4fc8e004dcff9..70c796df0be46cd6e1ac99792bb0bd81e03dc5d9 100644 (file)
@@ -56,36 +56,36 @@ union semun {
  * Mutex handling Functions
  */
 /* Function MutexCreate: create a mutex. See Mutex.c */
-inline int MutexCreate(key_t ipc_key);
+int MutexCreate(key_t ipc_key);
 /* Function MutexFind: get the mutex ID given fomr IPC key. See Mutex.c */
-inline int MutexFind(key_t ipc_key);
+int MutexFind(key_t ipc_key);
 /* Function MutexRead: read the current value of the mutex. See Mutex.c */
-inline int MutexRead(int sem_id);
+int MutexRead(int sem_id);
 /* Function MutexLock: to lock a mutex/semaphore. See Mutex.c */
-inline int MutexLock(int sem_id);
+int MutexLock(int sem_id);
 /* Function MutexUnlock: to unlock a mutex/semaphore. See Mutex.c */
-inline int MutexUnlock(int sem_id);
+int MutexUnlock(int sem_id);
 /* Function MutexRemove: remove the mutex/semphore. See Mutex.c */
-inline int MutexRemove(int sem_id);
+int MutexRemove(int sem_id);
 /* Function CreateMutex: create a mutex (using file locking). See Mutex.c */
-inline int CreateMutex(const char *path_name);
+int CreateMutex(const char *path_name);
 /* Function UnlockMutex: find a mutex (using file locking). See Mutex.c */
-inline int FindMutex(const char *path_name);
+int FindMutex(const char *path_name);
 /* Function LockMutex: acquire a mutex (using file locking). See Mutex.c */
-inline int LockMutex(int fd);
+int LockMutex(int fd);
 /* Function UnlockMutex: release a mutex (using file locking). See Mutex.c */
-inline int UnlockMutex(int fd);
+int UnlockMutex(int fd);
 /* Function ReadMutex: read a mutex (using file locking). See Mutex.c */
-inline int ReadMutex(int fd);
+int ReadMutex(int fd);
 /* Function RemoveMutex: remove a mutex (using file locking). See Mutex.c */
-inline int RemoveMutex(const char *path_name);
+int RemoveMutex(const char *path_name);
 /* 
  * Lock files function: to create and destroy lock files
  */
 /* Function LockFile: create a lock file. See FileLock.c */
-inline int LockFile(const char* path_name);
+int LockFile(const char* path_name);
 /* Function UnlockFile: remove a lock file. See FileLock.c */
-inline int UnlockFile(const char* path_name);
+int UnlockFile(const char* path_name);
 /*
  * Signal Handling Functions
  */
index 97f4dfe09370ac186aaaaca08fd572e4bc293b4d..ea5155b50d0e65358f941b5a7eec005f51332627 100644 (file)
@@ -23,13 +23,13 @@ $(OBJ): Gapil.h
 all: $(FINAL) $(LIB)
 
 dirmonitor: DirMonitor.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ) -lrt
 
 readmon: ReadMonitor.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ) -lrt
 
 myls: myls.c  
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ) -lrt
 
 mylschroot: mylschroot.c  
        $(CC) --static  $^ dir_scan.o -o $@
@@ -38,22 +38,22 @@ flock: Flock.c
        $(CC) $^ -o $@ 
 
 mqfortune: MQFortuneClient.c FortuneParse.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ)
 
 mqfortuned: MQFortuneServer.c FortuneParse.c 
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ) -lrt
 
 fortune: FortuneClient.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@
 
 fortuned: FortuneServer.c FortuneParse.c 
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ) -lrt
 
 message_setter: message_setter.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ) -lrt
 
 message_getter: message_getter.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ) -lrt -lpthread
 
 barcode: BarCode.c
        $(CC)  $^ -o $@
@@ -62,60 +62,60 @@ barcodepage: BarCodePage.c
        $(CC) $^ -o $@
 
 getparam: getparam.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@
 
 testfopen: test_fopen.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@
 
 testren: TestRen.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@
 
 forktest: fork_test.c 
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ) -lrt
 
 errcode: ErrCode.c 
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@
 
 uecho: UDP_echo.c
-       $(CC) $(CFLAGJ) $(CFLAGS) $^ -o $@
+       $(CC) $(CFLAGS) $^ -o $@ $(CFLAGJ)
 
 techo: TCP_echo.c
-       $(CC) $(CFLAGJ) $(CFLAGS) $^ -o $@
+       $(CC) $(CFLAGS) $^ -o $@ $(CFLAGJ) -lrt
 
 echod: TCP_echod.c
-       $(CC) $(CFLAGJ) $(CFLAGS) $^ -o $@
+       $(CC) $(CFLAGS) $^ -o $@ $(CFLAGJ) -lrt
 
 sechod: select_echod.c
-       $(CC) $(CFLAGJ) $(CFLAGS) $^ -o $@
+       $(CC) $(CFLAGS) $^ -o $@ $(CFLAGJ) -lrt
 
 pechod: poll_echod.c
-       $(CC) $(CFLAGJ) $(CFLAGS) $^ -o $@
+       $(CC) $(CFLAGS) $^ -o $@ $(CFLAGJ) -lrt
 
 daytimed: UDP_daytimed.c # TCP_cunc_daytimed.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@
 
 iterdaytimed: TCP_iter_daytimed.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@
 
 daytime: UDP_daytime.c # TCP_daytime.c 
-       $(CC) $(CFLAGJ) $(CFLAGS) $^ -o $@
+       $(CC) $(CFLAGS) $^ -o $@
 
 ipctestid: IPCTestId.c
-       $(CC)  $^ -o $@
+       $(CC) $^ -o $@
 
 writeshm: WriteShm.c
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@ $(CFLAGJ) -lrt 
 
 mygetaddr: mygetaddr.c  
-       $(CC) $(CFLAGJ) $^ -o $@
+       $(CC) $^ -o $@
 
 endtest: endtest.c
 
-readshm: ReadShm.c
-       $(CC) $(CFLAGJ) $^ -o $@
+#readshm: ReadShm.c
+#      $(CC) $^ -o $@
 
 wwwd: wwwd.c
-       $(CC) $(CFLAGJ) $(CFLAGS) $^ -o $@
+       $(CC) $(CFLAGS) $^ -o $@  $(CFLAGJ) -lrt
 
 acctctrl: AcctCtrl.c
        $(CC) $(CFLAGS) $^ -o $@
index f44f51d9016775ecb557a940bf00e330fcd8da5d..b5207b7188e185267acf8e79500bd942a6932cb1 100644 (file)
@@ -172,8 +172,8 @@ int main(int argc, char *argv[])
        usage();
     }
     for (i=0; i<=4; i++) {
-       printf("Response for %s is %ld, values is %ld\n", names[i], 
-              sysconf(argument[i]), values[i]);
+       printf("Response for %s is %ld, values is %ld\n",sc_names[i], 
+              sysconf(sc_argument[i]), values[i]);
     }
     return 0;
 }
index b43fa231821a3cc12d181002f348768d97c4edcd..6931cd7c3ef2d40265e69e24e6ba0a178d6563fc 100644 (file)
@@ -142,10 +142,12 @@ int main(int argc, char *argv[])
  * routine to print usage info and exit
  */
 void usage(void) {
-    printf("Program testlinkat : test fopen for a file  \n");
+    printf("Program testlinkat : test linkat for a file  \n");
     printf("Usage:\n");
-    printf("  testfopen [-h] file mode \n");
+    printf("  testlinkat [-h] file mode \n");
     printf("  -h          print this help\n");
+    printf("  -w [N]      wait N seconds\n");
+    printf("  -f [file]           use file as source\n");
     
     exit(1);
 }
index 820bf41a3d2bb1bb6660468a6da89fba6d091f4e..aa305f2329d0cec1ebe2f0fa86d4dc8a31d35a3e 100644 (file)
@@ -1,6 +1,6 @@
 %% system.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index da47e6f41c67c805320f56734fa6f261581015a6..488dbc5b2899d1f5e2602bdfad2bf3dd7fdc3238 100644 (file)
@@ -1,6 +1,6 @@
 %% tcpsock.tex
 %%
-%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index d5634775cd3a51a75702e54ffd845946960a20df..62f4dfdf7e9bc388c02835965d9a36b120d6c0d5 100644 (file)
@@ -1,6 +1,6 @@
 %% thread.tex
 %%
-%% Copyright (C) 2007-2018 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2007-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
index b43bd083079eb2d1049db13c60492d5a7bb718ac..97b0efb7eaf28755b8d2ed3d428fbaed5100b823 100644 (file)
@@ -1,6 +1,6 @@
 %% tcpprot.tex
 %%
-%% Copyright (C) 2002-2018 Simone Piccardi.  Permission is granted to copy,
+%% Copyright (C) 2002-2019 Simone Piccardi.  Permission is granted to copy,
 %% distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",