1*4882a593SmuzhiyunFrom 1ae99b796a2b949dfec91ed75026906e2891192c Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Tue, 5 Jul 2022 12:49:24 +0800 4*4882a593SmuzhiyunSubject: [PATCH 09/10] elput: Fix pipe racing in async_open() 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 7*4882a593Smuzhiyun--- 8*4882a593Smuzhiyun src/lib/elput/elput_input.c | 5 +++++ 9*4882a593Smuzhiyun 1 file changed, 5 insertions(+) 10*4882a593Smuzhiyun 11*4882a593Smuzhiyundiff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c 12*4882a593Smuzhiyunindex 4005a43..5196353 100644 13*4882a593Smuzhiyun--- a/src/lib/elput/elput_input.c 14*4882a593Smuzhiyun+++ b/src/lib/elput/elput_input.c 15*4882a593Smuzhiyun@@ -76,6 +76,11 @@ _cb_open_restricted(const char *path, int flags, void *data) 16*4882a593Smuzhiyun if (avail < 0) break; 17*4882a593Smuzhiyun } 18*4882a593Smuzhiyun close(p[0]); 19*4882a593Smuzhiyun+ 20*4882a593Smuzhiyun+ /* Sync with the other side */ 21*4882a593Smuzhiyun+ while (em->input.pipe != -1) 22*4882a593Smuzhiyun+ usleep(1000); 23*4882a593Smuzhiyun+ 24*4882a593Smuzhiyun return ret; 25*4882a593Smuzhiyun } 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun-- 28*4882a593Smuzhiyun2.20.1 29*4882a593Smuzhiyun 30