Mon 14 Oct 23:09:15 CEST 2024
This commit is contained in:
		
							parent
							
								
									33e37fb872
								
							
						
					
					
						commit
						88243e9dec
					
				
							
								
								
									
										27
									
								
								user/test/pipetest.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								user/test/pipetest.c
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| #include "library/syscalls.h" | ||||
| #include "library/user-io.h" | ||||
| #include "library/string.h" | ||||
| 
 | ||||
| int main(int argc, char *argv[]) | ||||
| { | ||||
| 	printf("%d: Running pipe test!\n", syscall_process_self()); | ||||
| 	int w = syscall_open_pipe(); | ||||
| 	syscall_object_set_blocking(w, 0); | ||||
| 	int x = syscall_process_fork(); | ||||
| 	if(x) { | ||||
| 		printf("%d: Writing...\n", syscall_process_self()); | ||||
| 		syscall_object_dup(w, KNO_STDOUT); | ||||
| 		printf("Testing!\n"); | ||||
| 		syscall_process_sleep(1000); | ||||
| 	} else { | ||||
| 		printf("%d: Reading...\n", syscall_process_self()); | ||||
| 		int r; | ||||
| 		char buf[10]; | ||||
| 		while(!(r = syscall_object_read(w, buf, 10))) { | ||||
| 			syscall_process_yield(); | ||||
| 		} | ||||
| 		printf("%d: I read %d chars from my brother\n", syscall_process_self(), r); | ||||
| 		printf("%d: They are (%s)\n", syscall_process_self(), buf); | ||||
| 	} | ||||
| 	return 0; | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user