mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.os.linux.development
Titolo: Programma come servizio

Salve a tutti,
Ho appena terminato di sviluppare un software che deve girare su un server.
Però ho la necessità di farlo funzionare come processo di sistema, nel senso
che non deve darmi output sulla console e non deve terminare quando chiudo
la sessione, anche perchè dovrà girare su un server al quale accedo tramite
un programma di terminale...
Mi ricordo che si può fare ma non riesco assolutamente a ricordare
come?!?!?!
Qualcuno mi aiuterebbe?
Grazie anticipate
-- 
Toglere #NOSPAM# dall'indirizzo
Cut #NOSPAM# to replay


Prova con
man daemon
Alessandro.

 come?!?!?!
Creare un shell wrapper che fa girare il software in nohup, con std*
opportunamente rediretti e in un loop infinito, il tutto fatto partire da
cron e con una fase di verifica per server gia` esistenti? Mi sembra troppo
facile come risposta...
Ciao,
-- 
       Roberto Divia`             Love at first sight is one of the greatest
       =============             labour-saving devices the world has ever seen.
Mailbox: C02110                 CERN-European Organization for Nuclear Research
E-mail: 
Robert...@cern.ch
           CH-1211 GENEVE 23, Switzerland

 opportunamente rediretti...
Ottimo!!! :-)
Ho risolto
Grazie 1000
Ciao

 come?!?!?!
man nohup
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)       [ 
http://digilander.libero.it/ebassi/blog
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 Qualcuno mi aiuterebbe?
man nohup
ma anche
man screen
Newsgroup: it.comp.os.linux.development
Titolo: Chi mi modiifica la memoria?

Data un'occhiata a questo pezzetto di codice:
tempArr = (char**) malloc(listLength*3);
if(tempArr==0) printf("errore malloc\n");fflush(stdout);
for(i=0,j=0; j<listLength; i+=3,j++) {
        l= sprintf(numStr,"%d",mesList[j]->number);
        numStr[l]='\0';
        tempArr[i] = strdup(numStr);
        tempArr[i+1] = strdup(mesList[j]->from);
        tempArr[i+2] = strdup(mesList[j]->object);
        printf("%s %s %s\n",tempArr[0],tempArr[1],tempArr[2]);fflush(stdout);
}
mesList è una array di strutture che hanno tre campi: num, from e object.
Vorrei mettere il contenuto dei campi in tempArr.
tempArr è l'unico riferimento a quella zona di memoria e non ci sono altri
thread.
A questo punto vorrei tanto capire perché l'output è il seguente:
1 a b
1 a b
P`p a b
P`p    b
P`p °ÀÐÜX@  °ÀÐÜX@ ÐÜX@
quando dobrebbe essere:
1 a b
1 a b
 ...
1 a b
Cioé il contenuto delle prime tre celle non dovrebbe modificarsi durante il
cicli no? Alle altre celle non succede niente del genere.
Grazie!
Matteo
-- 
chi sono e soprattutto chi non sono:
http://web.tiscali.it/sifoneteagnalla/
un piccolo programma per studenti universitari:
http://www.ifthenelse.it/leonetti/imsv/

 }
Che diresti di "pulire" i valori precedenti? Altrimenti ti trovi
con delle regioni allocate e perse...
if ( i != 0 ) {
  free( tmpArr[i] );
  free( tmpArr[i+1] );
  free( tmpArr[i+2] );
}
tmpArr[i] = strdup...
Il resto non lo guardo...
P.S. perche` fai tutti 'sti fflush?
P.P.S Non credi di essere un po' OT? Dovresti spostarti su .iniziare o
su un gruppo sul C...
Ciao,
-- 
       Roberto Divia`             Love at first sight is one of the greatest
       =============             labour-saving devices the world has ever seen.
Mailbox: C02110                 CERN-European Organization for Nuclear Research
E-mail: 
Robert...@cern.ch
           CH-1211 GENEVE 23, Switzerland

 tmpArr[i] = strdup...
OK, dimentica, questa mi e` scappata. Mai scrivere codice prima di prendere
un caffe` ;-)


 su un gruppo sul C...
hai ragione, ma non pensavo che l'errore fosse così banale.
Dunque scusate
Ciao
Matteo


 lo faccio sempre dopo una printf perché soprattutto in applicazioni
allora ti consiglio di fare una volta sola
  setbuf(stdout, NULL);
all'inizio del programma :)
-- 
There are only 10 kinds of people in the world --
Those who understand binary, and those who don't.

Newsgroup: it.comp.os.linux.development
Titolo: APACHE 2 e .htaccess

Ciao ragazzi,
ma per usare il file .htaccess messo nella cartella da proteggere,
devo attivare qualche modulo di apache?
se si quale e come?
grazie

a ho installato apache2 su linux ubuntu desktop 8.04

 a ho installato apache2 su linux ubuntu desktop 8.04
Dipende da quali direttive ci sono nel file.
http://httpd.apache.org/docs/2.2/howto/htaccess.html
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >
Newsgroup: it.comp.os.linux.development
Titolo: ingnorante in materia domanda!

scusate se la domanda è stata gia fatta in passato e scusate se la domanda
può essere stupida
vorrei abbandonare ms :-) e sono ai primi approci con linux
in win programmo in vb6 con maggioranza di programmi con interfaccie scanner
(TWAIN)
passando a LINUX:
    1) esiste un qualche BAsic simile al VB?
    2) si possono gestire le periferiche (Stampanti ecc.) e scanner
(TWAIN)??
Grazie in anticipo
IL NOVIZIO
Marco G.

 
bye

Newsgroup: it.comp.os.linux.development
Titolo: Java: Connessione ad un DB creato con reKall

Salve,
come faccio a connettermi ad un DB creato con Rekall?
Esiste qualcosa di simile a JDBC?
se Sì di quali strumenti ho bisogno?
Ciao 
Grazie a chiunque mi risponderà
Tylyo

 se Sì di quali strumenti ho bisogno?
se il db è mysql o postgres c'è il jdbc , se è nativo rekall imho nisba....
ciao.
-- 
"Ho preso cosi' tante medicine, che ogni volta che tossisco guarisco
qualcuno."
                -- Da it.hobby.umorismo

Newsgroup: it.comp.os.linux.development
Titolo: formato pagine man

Ciao a tutti, avrei bisogno di scrivere un po' di documentazione e di
salvarla in formato man o info, e finora non ho trovato di meglio che
scriverla in pod ( una specie di man del perl ) e poi convertirla con
pod2man. 
Esiste un editor che salva direttamente in man o devo impararmi la
sintassi nroff/groff e fare tutto a manina?
grazie
Ivan
-- 
.signature work in progress

 Esiste un editor che salva direttamente in man [...]?
Esiste, ma non ricordo il nome. Cerca su 
http://freshmeat.net
A risentirci
\  Davide G. Borin
\\ !!Scudo anti-spam attivo!! Togliere le x e "eliminami" dall'indirizzo
\\\_____________________________________________________________________

 sintassi nroff/groff e fare tutto a manina?
La sintassi di groff non e` poi tanto difficile, e per le man-pages non
ci voglioni che tre o quattro tag.
Ciao,
 Emmanuele
-- 
Emmanuele Bassi         |  Linux: [ 
http://digilander.iol.it/ebassi/linux/
 ]
                        |   SLRN: [ 
http://digilander.iol.it/ebassi/slrn/
  ]
emmanue...@iol.it
  |   SETI: [ 
http://digilander.iol.it/ebassi/seti/
  ]
  GnuPG Key Fingerprint: 9747 635E B95A B0B3 4370 1CAA CAF7 512B 945C A44C

sintassi nroff/groff e fare tutto a manina?
Potresti farla in sgml.
--
  	Giuseppe "Cowo" Corbelli  -->>  Riding on Linux-2.2.16
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! A mathematician is a device for turning coffee into theorems. !>-
                P. Erdos

salvarla in formato man 
Incredibile ma vero, /usr/doc/HOWTO/mini/Man-Page


http://wolfpack.twu.net/ManEdit/
ciao, andrea

Newsgroup: it.comp.os.linux.development
Titolo: Zope

Ho installato zope; ho avviato il server web in ascolto sulla 8021 tcp;
mi ci collego col browser: 
http://localhost:8021/manage
 come dice la guida e 
a questo punto dovrebbe comparire un interfaccia...
non compare niente,neanche un messaggio di errore...
qualche suggerimento?

 ha scritto nel messaggio
news:sZzA9.6357$744.2...@news1.tin.it...

prova con la porta 8080
Newsgroup: it.comp.os.linux.development
Titolo: baco mio o della libc?

Mi serve un piccolo sistema per stimare le prestazioni del sistema.
Siccome non riesco ad usare gprof in un programma con più tasl che vengono
eseguiti parallelamente ho pensato di farmi una funzioncia stupida ad hoc.
Gurdata questo pezzo di codice:
#include <sys/timeb.h>
struct timeb tp;
float vecchio_tempo = 0;
float nuovo_tempo = 0;
 
#define PRESTAZIONI     ftime(&tp); \
                        nuovo_tempo = tp.time + tp.millitm/1000; \
                        fprintf (stdout, "nuovo: %f\n", nuovo_tempo); \
                        fprintf (stdout, "Visione: delta=%f , frequenza=%f\n", \
                                 nuovo_tempo-vecchio_tempo, 1/(nuovo_tempo-vecchio_tempo) ); \
                        vecchio_tempo = nuovo_tempo;
La cosa che mi lascia stupito è che tutte le volte che il task chiama
PRESTAZIONI nuovo_tempo ha sempre lo stesso valore.
Sono scemo o c'è qualcosa che non va?

 PRESTAZIONI nuovo_tempo ha sempre lo stesso valore.
Non sempre, ma spesso...
Su RedHat 9:
x chiama PRESTAZIONI fa un sleep(3) e chiama PRESTAZIONE
$ ./x
nuovo: 1058397568.000000
Visione: delta=1058397568.000000 , frequenza=0.000000
nuovo: 1058397632.000000
Visione: delta=64.000000 , frequenza=0.015625
$ time ./x
nuovo: 1058397632.000000
Visione: delta=1058397632.000000 , frequenza=0.000000
nuovo: 1058397632.000000
Visione: delta=0.000000 , frequenza=inf
$ ./x
nuovo: 1058397632.000000
Visione: delta=1058397632.000000 , frequenza=0.000000
nuovo: 1058397632.000000
Visione: delta=0.000000 , frequenza=inf
$ ./x
nuovo: 1058397696.000000
Visione: delta=1058397696.000000 , frequenza=0.000000
nuovo: 1058397696.000000
Visione: delta=0.000000 , frequenza=inf
Sembra che ftime ti dia il tempo solo in incrementi di 64 secondi.
Sara un problema della libc, pero la man page dice anche:
 BUGS
        This function is obsolete. Don't use it. If the time  in  seconds  suf-
        fices,   time(2)  can  be  used;  gettimeofday(2)  gives  microseconds;
        clock_gettime(3) gives nanoseconds but is not yet widely available.
				claudio
-- 
Claudio Nieder, Kanalweg 1, CH-8610 Uster, Tel 
+41 79 357 6743
yahoo messenger: claudionieder aim: claudionieder icq:42315212
mailto:
pri...@claudio.ch
 
http://www.claudio.ch

 PRESTAZIONI nuovo_tempo ha sempre lo stesso valore.
BUGS
        Under  libc4  and  libc5  the millitm field is meaningful.
        But glibc2 is buggy and returns 0 there;  glibc  2.1.1  is
        correct again.
Ciao
  David
-- 
<d.santinoli presso mi. flashnet. it>

Newsgroup: it.comp.os.linux.development
Titolo: Win2000 e Linux

Cosa c'entra con lo sviluppo??
Scrivi sul newsgroup giusto.
Ciao
-- 
Simone Piccardi
Microsoft is NOT the answer. Microsoft is the Question.
The answer is: "NO!"
Newsgroup: it.comp.os.linux.development
Titolo: dalla tastiera al monitor

salve a tutti,
sto cercando di creare un documento in ita che spieghi ewsattamente quello
che succede ogni volta che si preme un tasto sulla tastiera e viene
visualizzato sul monitor,
poiche' la documentazione a proposito e' vasta volevo postare qui le mie
(quasi) conclusioni, cossiche' qualcuno di buona volonta' le possa leggere
ed eventualmente apportare correzioni , o suggerimenti o precisazioni
da quello che ho capito dai vari howto e man questo e' quello che fa linux
a ogni pressione di tasto:
- pressione tasto sulla tastiera
- il controller della tastiera invia lo scancodes del tasto al terminale
su cui mi trovo (tty0) 
- lo scancodes del tasto premuto viene poi passato al kernel driver della
console
-se il terminale e' in rawmode , lo scancodes viene passato direttamente
al programma che lo gestisce (ex xterm) *
- altrimenti viene fatta la mappatura scancodes -> keycodes (dalla mappa
in /usr/scr/linux/driver/keymap.c)
- se il terminale e' in keycode mode il keycode viene passato al programma
(ex showkey)
-se il terminale invece e' in ascii o utf, al keycodes viene associato il
carattere dalla mappa dei caratteri (loadkeys) e questo viene passato
all'applicazione che gestisce direttamente il carattere.
*- quando l terminale e' in rawmode, lo scancodes viene passato al driver
keyboard dell'xserver
-le applicazioni sotto x dallo scancodes ricavano un keysyms (da una loro
mappatura) e lo utilizzano per gestire il segnale.
in modalita' testo il tasto premuto prima di passare all'applicazione
viene "echoato" alla memoria del monitor che lo visualizza secondo lu sue
specifiche, in modalita' X invece e' direttamente xterm che penssa
all'output sullo schermo del carattere
ho diversi dubbi che vi pongo subito.
-sotto X, essendo xterm attacato a uno pseudo terminale come funziona la
cosa? quando premo il tasto, questo viene inviato sul /dev/pts (tty
slave), dalla parte dell tty master chi c'e' in ascolto che si legge il
segnale?? passa direttamente al kernel driver console ?
se avete idee, o riferimenti o tuto il resto vi saro' grato per l'aiuto
le informazioni le ho rubacchiate dal text-terminal howto
keyboard-console howto
man x
man xterm
man vari
ma evidentemente sono incomplete ( per mia ignoranaza nel consultare la
documentazione con tutta probabilita')
vi ringrazio per la collaborazione
Fabio

 
a questo punto questa domanda ha meno senso ma non troppo
 grazie ciao
Newsgroup: it.comp.os.linux.development
Titolo: Problemi di librerie con java su Ubuntu

Salve,
sto sviluppando un web service sotto Ubuntu e vorrei chiedervi una cosa:
!) nella variabile CLASSPATH devo per forza arrivare a definire tutto il 
percorso fino ai file jar o c'č un modo per fermarmi
alla cartella superiore??
Ora vi spiego il problema, se nella variabile d'ambiente CLASSPATH metto il 
percorso fino a /lib e provo a compilare
il compilatore non mi trova la classe che richiedo quando eseguo il comando 
"java org.apache.axis.client.AdminClient xxx.wsdd"
se invece metto il percorso completo fino al file non mi da questo problema, 
o meglio mi post pone il problema alla prima classe
che viene importata dentro appunto AdminClient e che non č imposta nel 
CLASSPATH.
Aiuto!!!
Con debian non avevo tutti questi problemi!!!!
Grazie mille  a tutti!!
N@ruto
-- 
"Io dico le cose cosě come stanno...e non cambio idea! E' questo il mio 
credo ninja!"
Naruto Uzumaki
"Ohhh...Tremo tutto"
Kenshiro
"Cosa significa essere incomparabilmente forti? Piů ci pensi.piů spalanchi 
gli occhi per vedere.e meno visibile diventa la risposta. Se non puoi vedere 
anche se fissi lo sguardo.allora chiudi gli occhi."
Ripreso da Vagabond : Maestro Sekishusai Yagyu 

 alla cartella superiore??
Che JVM stai usando?
-- 
USB Priests for only 10$
Newsgroup: it.comp.os.linux.development
Titolo: [XFonts] XLoadQueryFont

Buongiorno a tutti,
sto provando a caricare dei font da X ed a utilizzarli in OpenGL, mi sto
basando sulla lezione 13 di NEHE[1], pero' ho dei problemi che riassumo
qui:
1. se tanto mi da tanto (e se le manpage non mentono) caricare un font
e' abbastanza banale:
    Display *dpy;
    XFontStruct *fontInfo;  // storage for our font.
    dpy = XOpenDisplay(NULL); // default to DISPLAY env
    fontInfo = XLoadQueryFont(dpy,
"-adobe-helvetica-medium-r-normal--18-*-*-*-p-*-iso8859-1");
    if (fontInfo == NULL) {...}
(ho provato con tonnellate di nomi di font presi da xfontsel)
L'errore che ricevo (prima ancora del controllo fontInfo==NULL) e'
X Error of failed request:  BadFont (invalid Font parameter)
  Major opcode of failed request:  144 (GLX)
  Minor opcode of failed request:  12 (X_GLXUseXFont)
  Resource id in failed request:  0x2a00001
  Serial number of failed request:  33
  Current serial number in output stream:  39
Google[2] mi dice di usare glXGetDisplay() invece di XOpenDisplay() ma
non ho ulteriori notizie di questa funzione... :P
2. preso dallo sconforto ho deciso di vedere quali font sono disponibili
sul mio XServer tramite 
 
  char **l = XListFonts (dpy, "*", 100, &count);
e devo dire che ce ne sono un bel po', ma usando anche questi
XLoadQueryFont mi dice picche.
qualcuno ha qualche dritta?
grazie mille
[1]:
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=13
[2]:
<url>
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=3E22D1EA.6080906%40110.net&rnum=2&prev=/groups%3Fq%3DX_GLXUseXFont%26hl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26filter%3D0
</url>
-- 
mattia
:wq!
Hodie undecimo Kalendas Apriles MMDCCLVII ab urbe condita est
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

   Current serial number in output stream:  39
[...]
sembra che abbia omesso la vera causa dell'errore:
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
l'ho provato su un'altro PC dove l'accellerazione HW va ed il font si
carica senza problemi.
possibile che non se ne possa fare a meno??
ri-grazie
-- 
mattia

Newsgroup: it.comp.os.linux.development
Titolo: pgSQL : come si Inizia ?

Salve ragazzi,
    ho appena installato la RH6.2 però sto cercando di imparare ad usare dei
database sotto linux. Prima di installare MySQL volevo cominciare con
PostgreSQL. Ma quando digito il comando psql mi risponde con un errore
perché la sintassi vuole anche il nome di un database esistente, quindi con
il comando createdb nomedb ho tentato di creare il database ma niente dice
che l'utente "root" non ha il privilegio.
1. Potete spiegarmi cosa devo fare per poter cominciare ad esercitarmi ?
2. In quale path risiedono i file database (premetto che la versione i PGSQL
é quella di installazione con la RH6.2) ?
Grazie in anticio a uanti mi volessero aiutare.

 é quella di installazione con la RH6.2) ?
/var/lib/pgsql/base/
Ciao
 David
-- 
<d.santinoli presso mi . flashnet . it>
Newsgroup: it.comp.os.linux.development
Titolo: linux e ipv6

ciao ,
vorrei provare sulla mia macchina L'IPv6
io ho installata la Mandrake 8.1
qualcuno sa se devo aggiornare qualcosa o mi conviene cambiare distribuzione

 ha scritto nel messaggio
news:bVW68.8138$5M4.2...@twister2.libero.it...

Devi ricompilarti il kernel abilitando il supporto ad ipv6 (attenzione che
devi abilitari prima il supporto dei moduli in via di sviluppo) e poi ti
cerchi un server da cui fare il tuneling. Cmq mi pare che sia già l'how-to
in italiano

Newsgroup: it.comp.os.linux.development
Titolo: Embedded per smanettoni[forse OT]

Salve a tutti, non so se sono ot, volevo un consiglio su una possibile
scheda (con linux embedded ovviamente!) per smanettare un po' e
prendere un po' di confidenza in questo campo.Mi piacerebbe che questa
scheda avesse l'ethernet.Guardando un po' in giro ho trovato una scheda
della ACME, che però costa 129€, e mi sembrano troppi per un
giochino da smanettoni.Anche in altri siti non ho trovato niente a
meno...MI spaete dare qualche consiglio?Grazie a chi mi risponderà


credo che la fox di acme sia proprio tra le piu' economiche (assolutamente
non tra le piu' semplici).
Io ci ho smanettato un po' per lavoro, quindi se decidi di prenderla e
vuoi una mano per iniziare chiedi pure
ciao

> della ACME, che però costa 129?, e mi sembrano troppi per un


 tipo dvc80 di pinnacle?
boh non saprei...
io ci ho attaccato un video server della axis colegato a tre webcam, ed
acquisivo contemporaneamente tre canali video a 6 fotogrammi al secondo,
senza aproblemi.
ah ovviamente ci devi attaccare un harddisk perchè di suo ha solo la
flash per il sistema operativo e un ramdisk di pochi mega...
ciao

ha solo  ramdisk di pochi mega...
Volendo pensi che si potrebbe espandere un po' la ram? 

Sulla brochure ho letto che supporta anche java...
Sai mica se ha anche python?MI sto innamorando della velocità e
semplicità di sviluppo di questo linguaggio

Ho visto una telecamera ethernet della axis, mi sembra, costava circa
200€ ed era recensita molto bene. SUll'articolo la interfacciavano
con un processore proprio della Acme...Se ritrovo l'articolo(che però
è piuttosto vecchiotto) ti saprò dare maggiori dettagli

 Volendo pensi che si potrebbe espandere un po' la ram?
credo di no, ma perferisco non pronunciarmi, dai un'occhiata nel sito.
ciao

 semplicità di sviluppo di questo linguaggio
anche a me piace, ma è taaaanto lento..
Red

E Java come è supportato?
Cìè sopra la j2me o la j2se?

 Cми sopra la j2me o la j2se?
io ci ho usato soltanto il "C", sorry..

OK, grazie, scriverò a loro...
Newsgroup: it.comp.os.linux.development
Titolo: Linux Kernel Modules

Ciao a tutti
Volevo dilettarmi nella scrittura di un modulo per il kernel 2.4
che gestisca un char device e che usi /proc
anche qualcusa di semplice, giusto a scopo didattico, ma su internet
la LKM guide è ferma alla 2.2 e gli esempi che riporta non sono neanche 
riuscito a compilarli.
Qualche suggerimento ???
Alx



In rete é presente il libro di Alessandro Rubini: "Writing Linux Device 
Drivers (2a ediz)" in formato PDF, liberamente scaricabile. E' su un sito 
della O'Reilly. Gli esempi sono relativi alla versione 2.4.x del Kernel.
Io l'ho scaricata ancora qualche mese addietro.
Oppure compri direttamente il libro. :-)
-- 
Remove _NOTRASH to answer me!

Newsgroup: it.comp.os.linux.development
Titolo: Canali di distribuzione

Sto realizzando (forse più per mio sfizio che per effettiva utilità)
una interfaccia grafica per ipchains (KDE/QT).
Mettiamo che funzioni. Mettiamo che sia stabile. Mettiamo che voglia
"pubblicarla", nel senso di renderla disponibile: che via mi
consigliereste?
Spero di non essere OT.
Ciao.

 Ciao.
-- 
Francesco P. Lovergine  f.lovergine AT 
iesi.ba.cnr.it
Newsgroup: it.comp.os.linux.development
Titolo: Gestione errori in C

Ciao a tutti,
    scusate la domanda magari stupida: sto facendo un programmino in C sotto
Linux (sviluppo applicazione terminale in C con l'IDE Kdevelop). Non siate
severi se sono impreciso in qualche punto, sono nuovo del C usato ad un
certo livello più che didattico.
Ebbene, vorrei gestire gli errori. Se non erro ad un errore corrisponde un
segnale, come ad esempio SIGFPE per la division by zero.
Io ho fatto la mia gestione + o - così:
void routinedigestione(int sig);
..........
void routinedigestione(int sig){
    printf ("ERRORE FPE\n");
}
........
signal (SIGFPE, routinedigestione);
Ebbene, la routinedigestione in effetti viene lanciata all'arrivo
dell'errore (eseguo un x/y dove y=0).
Il problema è che questo handler dell'errore viene eseguito all'infinito!!
Ovvero, stampa la stringa a terminale, esce e...... rientra, ristampandola,
continuamente.
Come faccio a far "capire" che ho gestito l'errore? In basic c'era un bel
RESUME NEXT per andare oltre!!!
Ancora: l'errore di "Segmentatio Fault" si può gestire o come sospetto non
si può riprendere il controllo in tal caso?
Insomma, vorrei gestire tutti gli errori con dei miei handler per fare al
limite una gestione di "panico organizzato" per poi rilanciare il programma,
dato che è un daemon che deve sempre girare.
Ho guardato la doc. di Linux (sigaction...) ma è veramente complicato, vi
prego datemi una dritta, anche un programmino banale. Non ci credo che la
divisione per zero (per fare un esempio) non si può gestire e devo pertanto
per forza chiudere il programma!!!
Grazie a tutti
Osolemio

 dato che ? un daemon che deve sempre girare.
a mio parere di fronte ad una div by zero o un segfault l'unica cosa
sensata e' far ripartire il programma da capo. In tal caso, se
proprio vuoi farlo eseguire sempre, ti basta lanciarlo da uno script:
#!/bin/sh
while true; do mio_programma; done
in questo modo quando il programma muore viene lanciato di nuovo
(occhio a non scrivere un programma che va in background da solo,
altrimenti con questa riga lanci processi finche' non ti schiatta la
macchina :)))
-- 
There are only 10 kinds of people in the world --
Those who understand binary, and those who don't.

 macchina :)))
:-) grazie anche per la battuta!! :-)
Proverò
Osolemio
Newsgroup: it.comp.os.linux.development
Titolo: Fork o Thread?

Vorrei fare un daemon server capace di rivevere dati da una o piů connessioni
TCP o stdin...
Per gestire i processi sto cominciando a leggere e studiare i fork e i thread,
ma non avendo molta esperienza a riguardo sulle spalle mi servirebbe conoscere
i pro e i contro, soprattutto quali, in base a quello che vorrei creare, č piů
adatto! :)
How-To e guide, soprattutto relative all'uso con C++ sono gradite! :)
-- 
| /
| \Byte - Andrea Briganti - 
kbyt...@freemail.it
http://www.kbytesystem.fasturl.it
ICQ: 40872731


Ti do' il parere della mia inesperienza (almeno per quanto riguarda i
thread).
Vantaggi della fork:
1) piu' portabile (non tutti i sistemi implementano i thread nello stesso
modo, ci sono delle librerie che astraggono dalle diverse implementazioni ma
sono una dipendenza in piu' per il programma)
2) probabilmente piu' semplice da gestire soprattutto se il programma non e'
troppo "complicato".
Vantaggi dei thread:
1) piu' leggeri per il sistema operativo.
2) probabilmente e' piu' facile avere dati condivisi tra le varie "istanze"
e gestire situazioni "complicate".
Il tutto con beneficio d'inventario :-)
--
Alessandro Staltari
staltari(a)
geocities.com

 e gestire situazioni "complicate".
Verissimo. Lo spazio di indirizzamento e' lo stesso fra i vari thread quindi
tutte le variabili sono condivise.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! A conclusion is simply the place where someone got tired of thinking. !>-

 la POSIX pthread, con interfaccia == attraverso vari unix (solaris???).
Hum, mi risulta  che Solaris sia morto con la  propria interfaccia per i
thread.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Se non puoi convincerli, confondili.

 thread.
Ricordo che su comp.programming.threads dicevano che dalla 9 avrebbero
abbandonato l'architettura a 3 livelli, visto che per avere dei benefici
visibili ci voleva una macchina astronomica. Ma se sia vero, e come sia
effettivamente stata l'evoluzione non lo so. In realta' i ??? si riferivano
alle v8-
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
-<! Computer programmers never die, they just raise an unhandled exception.!>-

Newsgroup: it.comp.os.linux.development
Titolo: Segnale SIGSERV "segmentation fault"?!

>
Qualcuno può dirmi di cosa si tratta?
-- 
Simone
Linux Registered User #353303
www.sromano.com
 

 dal segnale SIGSERV: segmentation fault". L'utput di GDB è il seguente:
Questo in genere succede quando chiami 'free' su qualche cosa che
non e' stato allocato con malloc prima. Cioe' chiami 'free' 
sull'oggetto sbagliato o su un'oggetto gia' distrutto.
Davide
-- 
Never trust an operating system you don't have sources for.

 sull'oggetto sbagliato o su un'oggetto gia' distrutto.
Ho trovato: era un indice di un array che andava fuori dimensione massima in
un ciclo di assegnazione. Grazie lo stesso :-)

Newsgroup: it.comp.os.linux.development
Titolo: Uso di Code Crusader.

Ho installato jcc ma non riesco a farlo funzionare; nonostante tutti i miei
tentativi il piů banale dei programmi (Ciao mondo!) non va: il problema č
che jcc mi da il seguente errore: "makemake" either does not exists or is in
any of the directories on the current execution path.
Evidentemente mi manca makemake e non so dove trovarlo; inoltre, mi chiedo
se č necessario creare i file make anche quando il progetto č composto da un
solo semplice file.
Vi chiedo quindi di darmi una mano:
dove posso trovare makemake ?
come posso disabilitare l'opzione per la creazione del make e passare
direttamente alla compilazione del programma ?
Grazie in anticipo.
Francesco.

 direttamente alla compilazione del programma ?
Se vuoi compilare un programma attraverso il jcc, devi per forza passare
attraverso la creazione di un progetto, e quindi (potrei sbagliarmi, ma non
credo proprio) attraverso la creazione di un makefile con tutte le opzioni per
il compilatore.
A tal proposito, ti consiglio di usare il jcc solo per il make (che e' sempre
una bella comodita'), ma di NON usare il pulsante "run": se lo fai il jcc
cerchera' di catturare l'output del tuo programma e di fargli avere l'input
attraverso una sua finestra, con risultati a dir poco disastrosi (almeno, con i
miei programmi fa veramente ribrezzo). Buon divertimento...
Alceste
Newsgroup: it.comp.os.linux.development
Titolo: quesito script in bash

Salve a tutti,
Dovrei risolvere il seguente quesito...
Un disco dal quale dobbiamo copiare un gran numero di file  è guasto e 
va in errore quando viene letto di continuo oltre un certo numero di 
secondi.
Per risolvere il problema fare in modo che la copia di una grossa 
directory in un altra sia fatta fermandosi per un certo numero di 
secondi A ogni numero di secondi prefissato B.
Ora io avrei pensato di utilizzare il trap, precisamente tramite il 
segnale SIGSTOP, per effettuare questa copia dei file...
Il problema è che ho un pò di difficolta a "maneggiare" questo tipo di 
segnale.
Qualche suggerimento?

 Qualche suggerimento?
se vi e' possibile utilizzare python per lo script credo che tutto si 
semplichi parecchio

> Qualche suggerimento?
for i in `ls <dir_in_crisi>` ; do \
        cp -v <dir_in_crisi>/$i <dove_li_vuoi>;
        sleep <n> ;     # con n= num di sec tra un file e l'altro
; done
-- 
Il motivo per cui si scala una montagna e' perche' c'e'.
                -- James T. Kirk

 
Questa cosa mi ha incuriosito molto e mi ha portato al seguente scriptino :
#!/bin/bash
/bin/du /etc 2>/dev/null >&2 &
MYPID=`pidof du`
kill -STOP $MYPID
ret=0
while [ $ret == 0  ]
do
        kill -CONT $MYPID 2>/dev/null >&2
        ret=$?
        if [ $ret -ne 0 ]
        then
                break
        fi
        echo "cont"
        sleep 3
        kill -STOP $MYPID 2>/dev/null >&2
        ret=$?
        if [ $ret -ne 0 ]
        then
                break
        fi
        echo "stop"
        sleep 3
done
echo "FINITO ..."
Come vedi io ho usato il comando du solo per provare . 
Tale comando va sostituito con quello che serve a te che credo sia un cp .
Devi modificare anche la seconda linea con `pidof tuocomando` e gli sleep
con i secondi che vuoi.

 ; done
Simile (da provare e probabilmente modificare per il comando di copia):
Comando da farsi una volta (A e B sono i tempi in secondi):
while true; do sleep A; touch /tmp/STOP; sleep B; rm -f /tmp/STOP; done &
Comando da ripetere (se necessario):
find <dir in crisi> -type f -print | while read f; do
 cp "$f" <dove vuoi>
 while [ -f /tmp/STOP ]; do sleep 1; done
done
senza dimenticarsi un kill %% una volta che tutti i files sono copiati,
per fermare il primo processo.
Come soluzione non mi piace troppo, ma e` la sola che mi viene in mente
cosi` su due piedi...
Ciao,
-- 
       Roberto Divia`              Love at first sight is one of the greatest
Dep:PH Bat:53 Mailbox:C02110      labour-saving devices the world has ever seen
Route de Meyrin 385               ---------------------------------------------
Case Postale                                Phone:  
+41-22-767-4994
CH-1211 Geneve 23 CERN                      Fax:    
+41-22-767-9585
Switzerland                                 E-Mail: 
Robert...@cern.ch

 MYPID=`pidof du`
Forse sarebbe piu` facile:
MYPID="$!"


jova ha scritto:

io avevo pensato anche all'utilizzo delle job control
precisamente giocando con i segnali 18(SIGCONT) 19(SIGSTOP).
Newsgroup: it.comp.os.linux.development
Titolo: kylix

Salve a tutti, ieri mi sono scaricato la versione open di kylix dal sito 
della borland.
L'ho installato, ma appena lo faccio partire , mi chiede il numero seriale.
Sul sito c'è il modo di ottenerlo, ma c'è scritto che è per chi ha il cd di 
kylix.
Se provo a farlo, mi fa un'altra registrazione al sito.
Come posso fare?
La faccio lo stesso una seconda registrazione?
Grazie
Andrea

andrea wrote:

mi rispondo da solo: ho dovuto ricompilare nuovmente quel cavolo di modulo, 
anche se sapevano che ero registrato.
Strano, non si ricordano che per effettuare la registrazione sul loro sito, 
si deve compilare il modulo?
Perchè me lo fanno ricompilare?
Bah!
Andrea

Newsgroup: it.comp.os.linux.development
Titolo: programmazione daemon in C

Salve a tutti.
Vorrei sapere come si fa in C a controllare se un daemon e' attivo e se si
come disattivarlo.
In pratica. Ho realizzato un daemon in C, e fin qui va tutto bene. Lo stesso
programma deve controllare se il processo è gia attivo e permettere di
disattivarlo inserendo una opzione sulla riga di comando.
Spero di essere stato chiaro.
Enrico

puoi prendere spunto dagli script della tua distribuzione:
nella mia per esempio posso fare
samba start
samba stop
samba restart.
in genere inviano dei segnali al processo,
che dovrebbe aver installato un signal handler
e terminare "gracefully".
oppure rilegge la configurazione,
oppure etc...

 disattivarlo inserendo una opzione sulla riga di comando.
chiami un ps e vedi se esiste un processo che gira e se c'è estrapoli il
pid e gli mandi un segnale per "invitarlo" a morire.

 disattivarlo inserendo una opzione sulla riga di comando.
Crea un file contenente il pid del demone in /var/run, e fai un check
sull'esistenza di quel file.
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)           [ 
http://digilander.libero.it/ebassi/
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4
Newsgroup: it.comp.os.linux.development
Titolo: diff

Buon giorno a tutti....
il mio problema è questo:
devo vedere le differenze tra due file...
ho provato con diff, però mi viene fuori tutta la riga dove c'è una
differenza, io invece vorrei solo la parte della riga che fà la differenza.
spero di essermi spiegata a sufficenza :-)))
Ringrazio tutti
Ciao

differenza, io invece vorrei solo la parte della riga che fà la differenza.
no, diff non funziona cosi'!
"ragiona" solamente per righe:
se ci fai caso nelle diff gia' pronte trovi sempre riferimento ai
numeri di riga e trovi qualcosa tipo:
riga di riferimento sup
- bal bal bal
+ bla bla bla
riga di riferimento inferiore
e' uno dei vantaggi di diff e anche il suo maggior difetto! ;-)
esiste anche xdelta (
http://www.xcf.berkeley.edu/~jamcd/xdelta.html
)
ma non mi pare che restituisca risultati in ASCII perche' si occupa di
calcolare le differenze tra 2 files.
credo che tu abbia un fine diverso da quello per cui e' nato diff,
anche se ho capito cosa intendi non mi viene in mente niente.

 ha scritto nel messaggio
news:e74rltcui3s1e4uj8...@4ax.com...


devo vedere le differenze tra due file...
man cmp
[siamo OT]
-- 
Ci sentiamo  |  Remigio Zedda  || Attenzione! campo "From:" alterato
ciao Remigio |                 ||==> E-mail: 
remi...@tiscalinet.it
-------------|      ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.17 su Debian GNU/Linux 2.2 Potato */


diff ragiona per righe.
Per quello che vuoi temo che tu debba scriverti uno script
perl o awk che prenda una riga per file e la confronti,
se sono identiche passa oltre, se differiscono controlli 
campo per campo finche' non ne trova due diversi ...
poi stampi numero di riga e parole diverse.
Non dovrebbe essere difficile e nemmeno complicato, almeno se prevedi
che il numero dei campi sia uguale nelle righe dei due file o ti basta 
trovare la prima differenza riscontrata in ogni riga.
ciao, andrea
Newsgroup: it.comp.os.linux.development
Titolo: Comandi CVS

Ciao a tutti ho problema con i comandi cvs.
Ho creato un repository , ho importato i file del mio progetto nella
directory destinata a contenere il progetto. Ora voglio fare checkout e
mi chiede dove ho messo il file module.
Ora, io il file module non l'ho messo da nessuna parte, l'ha creato lui
quando ho creato il repository. Non riesco a capire dalle info cosa ci
va' nel file module e dove lo devo mettere.
Se ci fosse qualcuno disposto a darmi una mano sarei l'uomo piu' felice
del mondo.
Grazie in anticipo 
massi
-- 
 Massimo Narizzano          laureando in Ingegneria Informatica         
===============================================================                
(DIST)- University of Genova       phone: +39.(0)10.353-2811
 Viale Causa 13,                   E-mail: 
m...@mrg.dist.unige.it
 
 16145 Genova, ITALY
=================================================================
                     Non credete nei miracoli.....
                       contateci ciecamente.

  -  Debian User
   GnuPGid 0xC9F7DB89/1024  -  Sei tu un Dio? No. Allora muoriii!!
 Key fingerprint = EE38 2537 FA41 D481 4998  EB24 905A 999F C9F7 DB89
Undergraduate Student of Computer Science at Bologna University [Italy]


Nel file modules ci devi scrivere il nome del modulo e la directory
(quella dove hai messo
i files sotto CVS). Poichè modules è un file amministrativo devi compiere
i seguenti passi:
(in una directory qualsiasi ma non CVSROOT)
cvs checkout CVSROOT/modules
cd CVSROOT
vi modules (e aggiungi una riga con nome modulo e directory)
cvs commit modules
cd ..
cvs release -d CVSROOT
Ciao

Grazie tante Camillo Zanelli, ed essendo propio un novizio avrei qualche
altra domandina:
dopo aver creato il repository, importo i file e devo scrivere   le
seguenti cose:
cvs import -m "message" pathname nome start.
1) se non ho capito male pathname e' la dir dove voglio mettere il mio
progetto
2) name invece non ho capito bene a cosa serva.
3) inoltre come si fa a settare i file da mettere nel repository


 3) inoltre come si fa a settare i file da mettere nel repository
Di default CVS importa tutti i file eccetto una lista di tipi di file da
ignorare (come *.obj o *.exe)
a questa lista puoi aggiungerne di nuovi tramite il file cvsignore oppure
decidere di ignorare la
lista e importare tutti i file (con il comando -I !  dato al cvs import).
Se il tuo problema è invece
fare una selezione più specifica ti consiglio di farti una copia della dir
da importare e a quel
punto eliminare i file che non vuoi mettere sotto CVS e poi importare
l'archivio così ridotto.
In ogni caso ti consiglio vivamente di leggere il manuale CVS di Cederqvist
(un ottimo testo
per iniziare a usare CVS). Lo trovi in vari formati a:
http://www.gnu.org/manual/cvs-1.9/cvs.html
Ciao
Newsgroup: it.comp.os.linux.development
Titolo: Nuova rivista Linux

Ciao a tutti...
sperando di non disturbare vorrei annunciare la comparsa in edicola di
una nuova rivista dedicata a Linux...
Si chiama Linux Pro ed e' un mensile di 96 pagine con 3 CD-ROM in
allegato.
Vi invito a correre in edicola ad acquistarla... e inviare commenti e,
se volete, anche proposte di collaborazione.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:102a002c3cfdbefadf9...@mygate.mailgate.org...


On Sun, 30 Mar 2003 11:28:12 +0000, Dizzy wrote:
Il terzo cd invece è interessante,è pieno di software,
la rivista è molto interessante,l'idea dei tutorial è buona,
continuate così ma variate i tutorial così posso seguire più cose
ciao


Newsgroup: it.comp.os.linux.development
Titolo: script difficile... per me

Ciao a tutti,
dato il file con questo contenuto:
Cls  Rec.%   Tot.samples
   0   43.75  16
   1   86.96  46
Tot   75.81  62
Classification Matrix
Cls    0       1
   0   43.75   56.25
   1   13.04   86.96
dovrei prendere 43.75 e 86.96 e aggiungere il primo ad un file ric0.txt 
e il secondo al file ric1.txt.
Ci ho provato ma sono un po' a terra con i comandi unix... fra poco mi 
tocca scomodare java perché non ci riesco.
Se qualcuno di voi è così gentile mi risparmia una faticaccia...

se proprio proprio proprio devi sottomettere lo stesso messaggio in
piu' newsgroups, usa un multipost; cosi' sui vari gruppi i messaggi
avranno lo stesso id e noi li leggeremo una volta sola (invece che
tante volte sempre uguale).
e fai come ti hammo detto in i.c.o.l.software, dai un'occhiata ad awk.
-- 
|   Maurizio Loreti -- 
ROT13:ybe...@cq.vasa.vg
   |  (@_
| Un. of Padova, Dept. of Physics, Padova, Italy |  //\
|     
http://www.pd.infn.it/~loreti/mlo.html
     |  V_/_

 
Ho risolto con awk,
grazie.

 tante volte sempre uguale).
Errata: multipost
Corrige: crosspost
Ciao,
 ___ 
/_|_\  Umberto Salsi
\/_\/  
www.icosaedro.it
Newsgroup: it.comp.os.linux.development
Titolo: eliminare il check IDE dal kernel

Salve,
anche se temo che questo non sia il ng piu' adatto,credo che qui ci
siano le persone che mi sapranno rispondere;in fin dei conti,si tratta
di manipolazione dei sorgenti del kernel.
Sulla mia macchina ho un unico disco EIDE (UATA-100) ed ho applicato la
relativa patch al kernel;
tale disco viene visto come /dev/hde.
Il problema e' che al boot il sistema si blocca per parecchio tempo con
i seguenti messaggi:
hda: no response (status = 0xa1), resetting drive
hda: no response (status = 0xa1)
hdb: no response (status = 0xa1), resetting drive
hdb: no response (status = 0xa1)       
dato che sul cotroller IDE primario standard non e' collegato alcunche'.
Qualcuno sa dirmi come e dove modificare i sorgenti del kernel per
evitare questo problema?
Vi ringrazio e mi scuso per l'eventuale OT.
-- 
**************************************
Duke Of Hell - Lord Of Chaos
Computer Science Undergraduate Student
http://www.cs.unibo.it/~tasso
**************************************

 i seguenti messaggi:
Ci dovrebbe essere un qualcosa del tipo hda=disable 

 hda: no response (status = 0xa1), resetting drive
Prova a passare (tramite lilo) al kernel l'opzione: hda=noprobe
-- 
Home-consiglio: "A prova di errore", di Stephen Frears.       _/Davide\_
                                                              \Alberani/
Per contattarmi: 
http://digilander.iol.it/alberanid/

 
Se non mi ricordo male in /usr/src/linux/Documentation/ide.txt c'e'
spiegato come fare.
Dovrebbe bastare un append "ide0=noprobe" o simili in lilo.conf.
In pratica si deve escludere il probing dell'interfaccia.
Non credo sia necessario toccare i sorgenti.
LG
 -- 
**************************************************************************
Leandro Gelasi
V Year Computer Science Engineering at Siena University
email : 
gela...@lucy.ing.unisi.it
Gilles Villeneuve will live forever
**************************************************************************

 Ci dovrebbe essere un qualcosa del tipo hda=disable
No, mi sbagliavo; tratto da Documentation/ide.txt
If the auto-probing during boot time confuses a drive (ie. the drive works
with hd.c but not with ide.c), then an command line option may be specified
for each drive for which you'd like the drive to skip the hardware
probe/identification sequence.  For example:
 
        hdb=noprobe
or
        hdc=768,16,32
        hdc=noprobe
Newsgroup: it.comp.os.linux.development
Titolo: shared memory

ciao... dev'esserci un problemino banale, ma non
capisco dove sia...per provare, ho scritto due
programmini, uno che alloca un po' di shared memory,
restituendo lo shmid, l'altro che legge la stringhetta
lasciata dal primo... solo che trova degli zeri...
come mai?
/* writeshm */
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdio.h>
int main (char argc, char * argv[]){
	int shmid;
	char * shmp, *argv1p;
	if (argc < 2){
		printf("pls provide (at least) an argument!\n");
		return -1;
	}
	argv1p = argv[1];
	shmid = shmget(IPC_PRIVATE,4096,IPC_CREAT|IPC_EXCL|0660);
	if (shmid ==  (-1)){
		printf ("shmget failed");
		return -1;
	}
	printf ("shmid: %d\n", shmid);
	if ( (char *)-1  == (shmp = shmat(shmid,0,0))) {
		printf ("shmat failed");
		return -1;
	}
	while (*argv1p)
		 *shmp++ == *argv1p++;
	*shmp = 0;	// cstring terminator
	return 0;
}
* readshm */
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdio.h>
int main (char argc, char * argv[]){
	int shmid;
	char * shmp;
	if (argc !=  2){
		printf("pls provide shmid!\n");
		return -1;
	}
	if (!sscanf(argv[1],"%d",&shmid))
		return -1;
	if ( (char *)-1  == (shmp = shmat(shmid,0,0))) {
		printf ("shmat failed\n");
		return -1;
	}
	printf("%s\n",shmp);
	return 0;
}
il secondo programmino, fornitogli lo shmid, non
stampa alcunche' - e a buona ragione, puntando shmp
a un'area di memoria vuota.
Grazie per l'attenzio..ciao
			Marcelo
Find the best deals on the web at AltaVista Shopping!
http://www.shopping.altavista.com
-- 
Posted from 
c012-h024.c012.sfo.cp.net
 [209.228.12.172] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

                 *shmp++ == *argv1p++;
scusate...sono proprio un pivello :[
m.v.

Newsgroup: it.comp.os.linux.development
Titolo: Bufferizzazione

Salve!
Scuaste la domanda forse banale, ma le pipe (non i FIFO) sono bufferizzate?
Grazie
-- 
Per l'e-mail rimuovere la frase in maiuscolo e gli underscore.

Scuaste la domanda forse banale, ma le pipe (non i FIFO) sono bufferizzate?
internamente, si, altrimenti nn potresti scrivere se qualcuno non sta
leggendo.

 leggendo.
Però, se c'è un lettore all'altra estremità, non c'è bisogno di flushare la 
pipe, vero? Ma poi esistono funzioni per flushare un `file destcriptor'?
Lo chiedo perché avevo fatto una pipe tra padre e figlio, e questi stampava 
a video ciò che leggeva dalla pipe: per visualizzare l'output del figlio ho 
però dovuto togliere la bufferizzazione al suo `stdout'; implementando il 
tutto in Perl mi hanno spiegato che dovevo invece flushare la pipe dalla 
parte dello scrittore (padre)!
Com'è  possibile?


 parte dello scrittore (padre)!
La write(2) di sistema non ha mai bisogno di flushing, al piu` ha 
bisogno di essere ripetuta se viene interrotta da un segnale e ritorna 
errore con errno == EINTR, o se ritorna di aver scritto meno byte di 
quelli che gli era stato detto di scrivere (puo` succedere con i socket 
in dominio INET, ma se non erro non con i socket dominio UNIX, pipe, 
fifo e file ordinari).
Tuttavia "print" in Perl e` bufferizzata per default (perche` come tutti 
usa write(2), che e` una system call, dunque costosa da invocare, quindi 
meglio invocarla poche volte con tanti dati), e se usi quella per 
scrivere sulla pipe devi o flushare esplicitamente o disabilitare la 
bufferizzazione per quel canale.
-- 
   |   \    \  | ___|_  |_  | ianezz a casa sua... :-)
   |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
  _|_/  _\_|  _|____|___|___| 
http://www.linuxtrent.it

:
Grazie!


 
Puo` succedere anche con fifo e pipe, se scrivi piu` di PIPE_BUF byte.
Ciao
Simone
Newsgroup: it.comp.os.linux.development
Titolo: [PHP] Help su inserimento immagini via odbc

Ciao a tutti,
sto sclerando con php4 (ma anche il 3.0.16) perche' non riesco
a caricare una immagine (es: un .gif) all'interno di un campo blob
su un database via odbc (il database e' solid).
Qualcuno ha gia' provato ?
Ci sono degli esempi in giro ?
Grazie in anticipo.
Fulvio
========================
To reply, remove LEVAME
========================

su un database via odbc (il database e' solid).
Ma non ti conviene memorizzare sul db la url dove reperire l'immaggine
invece di ficcare direttamente.
viene fuori un db molto piu leggero... e inoltre una query piu veloce...
-- 
Sidewinder  
---------------------------------------------------------------------
Don't go around saying the world owes you a living.  The world owes you
nothing.  It was here first.
		-- Mark Twain
---------------------------------------------------------------------

viene fuori un db molto piu leggero... e inoltre una query piu veloce...
Va bene, ma comunque non risolve il mio problema.
Faccio una domanda in modo diverso:
Se provo a dare un comando sql (es: insert) di lunghezza superiore a
64k, l' insert non va a buon fine. Penso sia un problema di buffer tra
il driver odbc e il server.
Es: devo mettere un file di testo di 100k dentro al database.
Ciao.


 Qualcuno ha gia' provato ?
Si io ma io nel database salvo solo il nome dell'immagine!!!!.....
e piu semplice e veloce....
Bye Fabio FVZ

Newsgroup: it.comp.os.linux.development
Titolo: p2p con protocollo HTTP

Salve a tutti
dovrei implementare un sistema P2P tramite protocollo HTTP sotto linux. Dato
che il modello richiede quindi di gestire sia client che server, sapreste
indicarmi se esiste in rete un manuale o degli esempi relativi al protocollo
HTTP in linguaggio ANSI C.
Il principale problema che incontro è gestire correttamente lo standard HTTP
nella crazione della stringa di Header, e diciamo in generale lo scambio
Request - Reply tra client e server, non tanto a livello teorico ma + a
livello pratico di programmazione.
Grazie mille a tutti in anticipo

 HTTP in linguaggio ANSI C.
ciao,
MI SA che in ansi c non puoi implementare tale sw per via della diversa
gestione dei socket. dovresti prevedere diverse funzioni almeno per win e
linux... oppure ti scarichi le QT dal sito della trolltech solo che, a
quel punto, lavoreresti ad un layer superiore.
ciao
-- 
Er Baitch
"Live Your Life!!!" (Ring ain't a jail)
http://baitch.altervista.org/