לדלג לתוכן

תרגול המתנה וקריאות APC

הריצו את ניסוי ה־APC ושמרו את המונה לפני ההמתנה alertable ואחריה. הסבירו למה אין data race בדוגמה למרות שהפעולה נקראת asynchronous.

הרחיבו את wait_with_deadline כך ש־INFINITE מטופל במפורש. הוסיפו בדיקות עבור timeout אפס, אירוע מסומן ו־APC שאינו מסמן את האירוע.

תכננו כשל reentrancy שבו callback קורא למצב שנמצא באמצע עדכון. הציעו תיקון שאינו רק הוספת lock סביב כל התוכנית.

כתבו טבלת תוצאות עבור WAIT_OBJECT_0, WAIT_TIMEOUT, WAIT_IO_COMPLETION, WAIT_ABANDONED ו־WAIT_FAILED. ציינו באילו APIs וסוגי אובייקטים כל תוצאה רלוונטית.

הסבירו מדוע יציאה מפונקציה שרשמה APC אינה הוכחה שאפשר להשמיד את ה־context שהועבר אליו.