לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #2  
ישן 15-01-2006, 01:32
  ^NoX ^NoX אינו מחובר  
 
חבר מתאריך: 09.05.05
הודעות: 1,217
בתגובה להודעה מספר 1 שנכתבה על ידי yone שמתחילה ב "למבינים ב- Perl: נעילת קבצים"

אף פעם לא עבדתי על AFS, אז אני לא מדבר ספציפית על המערכת הזאת, אלא באופן כללי.
לפי המנואל, flock מממש את הפעולה בעזרת flock, fcntl או lockf, ככה ששימוש ידני ב-fcntl לא יפתור את הבעייה.
אבל לך תדע, תמיד כדאי לנסות. תבדוק ב-perlport למערכת ההפעלה הספציפית שלך (לא ציינת איזה מערכת), אולי יש שם הערה על זה, או דרך לפיתרון של הבעייה.

כשניסית להשתמש ב-flock, מה קרה בדיוק? החזיר 0 או שקיבלת fatal error?

בקשר לשאלה השנייה שלך -
קראת את החלק של perldoc שמדבר על fcntl? אם כן, מה לא הבנת שם?

מצורף החלק בחוברת של פרל שמדבר על fcntl.
קוד:
REMOVE THIS LINE fcntl FILEHANDLE,FUNCTION,SCALAR Implements the fcntl(2) function. You'll probably have to say use Fcntl; first to get the correct constant definitions. Argument processing and value return works just like "ioctl" below. For exam- ple: use Fcntl; fcntl($filehandle, F_GETFL, $packed_return_buffer) or die "can't fcntl F_GETFL: $!"; You don't have to check for "defined" on the return from "fcntl". Like "ioctl", it maps a 0 return from the system call into "0 but true" in Perl. This string is true in boolean context and 0 in numeric context. It is also exempt from the normal -w warn- ings on improper numeric conversions. Note that "fcntl" will produce a fatal error if used on a machine that doesn't implement fcntl(2). See the Fcntl module or your fcntl(2) manpage to learn what functions are available on your system. Here's an example of setting a filehandle named "REMOTE" to be non-blocking at the system level. You'll have to negotiate $| on your own, though. use Fcntl qw(F_GETFL F_SETFL O_NONBLOCK); $flags = fcntl(REMOTE, F_GETFL, 0) or die "Can't get flags for the socket: $!\n"; $flags = fcntl(REMOTE, F_SETFL, $flags | O_NONBLOCK) or die "Can't set flags for the socket: $!\n"; REMOVE THIS LINE
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 15:28

הדף נוצר ב 0.05 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר