קודם כל tag בפקודות Send/Recv משמשות כדי להבדיל בין הודעות שונות שנשלחות, אם לא נגדיר tag אז recv יקבל כל send שישלח לאותו תהליך.
בקוד הנ"ל, נותנים מספר רנדומלי לtag לכן ה-recv לא יקבל את מה שמעבד 0 ישלח כי יהיה לו tag שונה מאשר ה-tag שבפקודת הsend של מעבד 0 (אנחנו רוצים שיהיה אותו tag) ולכן ההודעה לא תגיע ואז מפני שrecv היא פקודה חוסמת התוכנית תתקע.
דרך לתקן – לתת לשני הפקודות את אותו tag, למשל להגדיר: 3 = msgtag
קודם כל tag בפקודות Send/Recv משמשות כדי להבדיל בין הודעות שונות שנשלחות, אם לא נגדיר tag אז recv יקבל כל send שישלח לאותו תהליך. בקוד הנ"ל, נותנים מספר רנדומלי לtag לכן ה-recv לא יקבל את מה שמעבד 0 ישלח כי יהיה לו tag שונה מאשר ה-tag שבפקודת הsend של מעבד 0 (אנחנו רוצים שיהיה אותו tag) ולכן ההודעה לא תגיע ואז מפני שrecv היא פקודה חוסמת התוכנית תתקע. דרך לתקן – לתת לשני הפקודות את אותו tag, למשל להגדיר: 3 = msgtag