Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sta uopste predstavlja "flock"

[es] :: Perl :: Sta uopste predstavlja "flock"

[ Pregleda: 3555 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cdmixer
Cd Mixer
Zemun

Član broj: 17539
Poruke: 10
195.252.80.*

Sajt: scoop.mojblog.co.yu


Profil

icon Sta uopste predstavlja "flock"31.01.2004. u 08:30 - pre 246 meseci
Pokusavam da pokrenem skriptu na mom racunaru:

OS Win 98 i imam instaliran IndigiPerl

neke skripte rade ali neke nece i stalno mi izbacuje ovu poruku:


Software error:
flock() unimplemented on this platform at C:/indigoperl/APACHE/CGI-BIN/bannerex/admin.pl line 570.

For help, please send mail to the webmaster ([email protected]), giving this error message and the time and date of the error.



Sta mu to predstavlja uopste?

Unapred Zahvalan

 
Odgovor na temu

bzero
dev null
europe

Član broj: 5907
Poruke: 371
195.252.85.*

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Re: Sta uopste predstavlja 31.01.2004. u 18:43 - pre 246 meseci
flock() je funkcija koja se koristi kod pristupa nekom fajlu, a postoji mogucnost da u isto vreme neki drugi proces pristupi istom fajlu.
Ukoliko bi dva procesa naprimer istovremeno pokusala da pisu u isti fajl, doslo bi do zbrke i fajl i podaci u njemu bili bi osteceni. Da bi se ovo izbeglo koristi se flock() (ime je nastalo od file lock - zakljucavanje fajla) i sustina je da proces koji pristupa fajlu prvo ga "zakljuca", pa kad neki drugi proces pokusa da otvori ovako zakljucani fajl nece uspeti, nego mora da ceka dok prvi proces zavrsi i otkljuca fajl. Na taj nacin se obezbedjuje da u jednom trenutku samo jedan proces moze da pise u odredjeni fajl.

Sto se konkretno tvog problema tice Perl-ov flock() koristi unix sistemske pozive flock, lockf, fcntl, i ukoliko one ne postoje na sistemu, dobije se fatal error. S obzirom da ovo postoji samo na naprednijim operativnim sistemima, flock() jednostavno ne radi na windows platformama.

Mozes da izbacis delove koji koriste flock (apsolutno ti ne preporucujem, jer sigurno postoji dobar razlog zasto je tu uopste stavljen flock) ili da izmenis program tako da simuliras flock, a kako to da uradis pogledaj temu pre ove:

http://www.elitesecurity.org/tema/39859

Never trust an operating system you don't have sources for.
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: Sta uopste predstavlja02.02.2004. u 09:58 - pre 246 meseci
Ja priznajem da nisam PERL haker, ali ako PERL ima flock() onda je taj
flock() 100% multiplatform! :) Dakle ne verujem da ce se dobiti fatal
error na Windows-u, jer ce flock() na Windows-u raditi drugacije.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

alex
Aleksandar Radulovic
Senior Software Engineer, Spotify
Stockholm, Sweden

Moderator
Član broj: 71
Poruke: 2194
*.habil.is

Jabber: alex@a13x.info
ICQ: -1
Sajt: www.a13x.info


+1 Profil

icon Re: Sta uopste predstavlja "flock"02.02.2004. u 10:39 - pre 246 meseci
Leko, mislim da nisi bas skroz u pravu, jer flock() funkcija nije implementirana (ne radi) na nekim Windows platformama - sto je definitivno slucaj sa Windows 95 i Windows 98 sistemima.

No, i tu ima spasa: LockFile::Simple.

Pozdrav,
alex.
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
 
Odgovor na temu

Free_Sex
Aleksandar
Beograd

Član broj: 9601
Poruke: 616
*.vdial.verat.net



Profil

icon Re: Sta uopste predstavlja "flock"02.02.2004. u 12:00 - pre 246 meseci
Ima i nekih drugih kombinacija. Ali posto stvarno ne verujem da ce tvoje skripte da budu na internetu na nekom win 98 serveru, cak i ako budu uopste na win platformi. Nemoj da brines za to. Win 2000, NT i XP koje sreces kao servere, imaju flock i radi super.

Zato lepo stavi negde u pocetak skripte :

$iswin=1;
# ovo stavi na 1 kad testiras kuci, a na 0 kad uploadujes negde na server

a onda u delu gde je flock(); stavi sledece

if($iswin == 0) {
flock(filehandle,2);
}

A tamo gde otkljucavas fajl isto to samo stavis flock(filehandle,8);

I ne brini.

I da znam da ovo mozes i da automatizujes, pa da ti sama skripta proverava koji je OS, samo ne mogu sad da gledam, a i posluzice ti ovo dok ti ne javim za drugo resenje.
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: Sta uopste predstavlja "flock"02.02.2004. u 12:47 - pre 246 meseci
Alex, nisam rekao da je skroz nemoguce da postoje takvi problemi, ako
jesam izvinjavam se. Posao sam od premise da su Perl hakeri dobri
programeri, i trude se da kod bude sto vise portabilan. Sa druge strane,
ako flock() ne radi na nekim platformama, to znaci da se mozda niko nije
zalio. Poprilicno sam uveren da bi to bilo fiksirano u roku od ... ODMAH. :)

PS. ja sam negde u prethodnim tekstovima objasnio kako se implementira
portabilni flock()...
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Free_Sex
Aleksandar
Beograd

Član broj: 9601
Poruke: 616
*.vdial.verat.net



Profil

icon Re: Sta uopste predstavlja "flock"02.02.2004. u 19:32 - pre 246 meseci
Nije stvar u perl-u vec u samom windowsu :) Naravno !

I ne moze da se resi odmah bas zbog toga. Inace koliko ja znam, potpuno isti perl koji je instaliran kod mene (na win 98) nema flock tj ne radi. Blokira se jednostavno skripta. Dok kod drugara sa 2000 normalno radi..... ja sam mu instalirao perl, isti kao i moj ... dakle reseno je :)

Inace i mnogi su se zalili.

Nego ajde i ja sam sad postavio pitanje jedno....
 
Odgovor na temu

[es] :: Perl :: Sta uopste predstavlja "flock"

[ Pregleda: 3555 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.