21 lines
		
	
	
		
			696 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			696 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| up:: [[unix tubes]], [[C tubes]]
 | |
| title::
 | |
| #s/informatique/unix 
 | |
| 
 | |
| ---
 | |
| 
 | |
| Cas d'un processus qui essaie de lire `N` octets à la sortie d'un tube
 | |
|  1. le tube n'est pas vide et contient $n$ onctents
 | |
|      1. `min(n, N)` octets sont lus 
 | |
|      2. la primitive renvoie le nombre réel d'octets lus
 | |
|  2. Le tube est vide
 | |
|      1. le nombre d'écrivains est nul (fin de fichier est atteinte)
 | |
|          - aucun octet n'est lu 
 | |
|          - la primitive renvoie 0
 | |
|      - le nombre d'écrivains n'est pas nul
 | |
|          - si la lecture est bloquante, le processus est mis en sommeil jusqu'à ce que le tube ne soit plus vide
 | |
|          - si la lecture n'est pas bloquante, la primitive renvoie -1 et `errno = EAGAIN`
 | |
| 
 | |
| 
 | |
| 
 |