Avatar billede lasse_hyldal Nybegynder
26. oktober 2002 - 17:31 Der er 26 kommentarer og
1 løsning

messagepassing i C

Følgende bid af et program viser en while-løkke, der kører uendeligt for at vente på at modtage en besked. Mit problem er så, at hvis der modtages en besked fra beskedkøen med id'et msgid2, så bliver den ikke modtaget før en besked er modtaget fra beskedkøen med id'et msgid. Hvordan undgår jeg, at løkken står og venter ved den første eksekvering af msgrcv? Jeg skal med andre ord kun tilgå msgrcv-funktionen, hvis der findes en besked i lige netop dens beskedkø.

while(running)
{
if(msgrcv(msgid, (void *)&some_data1, BUFSIZ,
                msg_to_receive, 0) == -1) {
        fprintf(stderr, "msgrcv failed with error: %d\n", errno);
        exit(EXIT_FAILURE);
    }
if(msgrcv(msgid2, (void *)&some_data1, BUFSIZ,
                msg_to_receive, 0) == -1) {
        fprintf(stderr, "msgrcv failed with error: %d\n", errno);
        exit(EXIT_FAILURE);
    }
}
Avatar billede smeltet Nybegynder
26. oktober 2002 - 17:34 #1
Hepsa Lasse!!!!!!
sjovt problem du har der. Det har vi siddet med de sidste 2 dage. har endnu ikke fundet en løsning det er pænt fucked up...
men hvis der nu kommer en løsning så ring lige......ik.

says Kasper, Michael og Jakob
Avatar billede poull Nybegynder
26. oktober 2002 - 17:38 #2
Jeg kender godt nok ikke lige C så godt men vil så¨dan som jeg ser problemet så er det en kommando der låser eksekveringen. Derfor skal du enten bruge en anden som ikke låser eller køre i flere tråde.
Avatar billede trp79 Nybegynder
26. oktober 2002 - 19:37 #3
Lå Låååååååå
Jeg har lige fået nye "booooots"....
Smæk en fin lille super dejlig semafor omkring det! Så kan processen jo ikke blive interruptet.... og så er alle beskeder jo sendt, før en anden proces kommer til..
Avatar billede trp79 Nybegynder
26. oktober 2002 - 19:47 #4
Sorry det jeg mente var, at der skal en semafor omkring det kode der skal sendes:

sem_Lock()
msg-send(msg1);
msg-send(msg2);
msg-send(msg3);
sem_unLock()
Avatar billede poull Nybegynder
27. oktober 2002 - 13:37 #5
kunne man ikke bare gemme
msgrcv(msgid, (void *)&some_data1, BUFSIZ, msg_to_receive, 0)
i en variabel og så tjekke. denne variabel. Så låser den ikek ved den forkerte
Avatar billede mskott Nybegynder
27. oktober 2002 - 15:03 #6
Hvor er det sørgeligt at der er så få DØK studerende der har fulgt med i undervisningen. I skal sgu nok blive til noget...
Avatar billede smeltet Nybegynder
27. oktober 2002 - 15:57 #7
MSKOTT GIV DIG TIL KENDE DIT SVIN!!!! VI SKAL NOK FINDE DIG!!!! KLAMME FUCKER!!! HVAD FANDEN ER DET FOR EN HOMO KOMMENTAR AT KOMME MED!!!!!
Avatar billede smeltet Nybegynder
27. oktober 2002 - 15:58 #8
HVAD D FUCK SPILLER DU SÅ DUM FOR?????
Avatar billede poull Nybegynder
27. oktober 2002 - 17:41 #9
Mig du snakker om ?
Avatar billede trp79 Nybegynder
27. oktober 2002 - 19:22 #10
Nej det smeltet nævner har været henvist til mskott.
Avatar billede trp79 Nybegynder
27. oktober 2002 - 19:23 #11
--> mskott
Hvor er det flot du sådan kan finde ud af at svine folk. Få dig et liv!
Avatar billede smeltet Nybegynder
27. oktober 2002 - 21:32 #12
udemærket tp..
har du fået nye booooooots????
eller spiller du bare lidt smart på min bekostning....
jakob
Avatar billede swaq Nybegynder
27. oktober 2002 - 21:36 #13
Der er vist nogen der har dårlig samvittighed - ingen nævnt ingen glemt!
Avatar billede smeltet Nybegynder
27. oktober 2002 - 22:17 #14
hvad fanden er nu det for noget pis? hvorfor helvede er du overhovedet med i denne samtale?

det er sgu da for meget......shit.....sucker
Avatar billede mskott Nybegynder
27. oktober 2002 - 22:39 #15
Hm...
Et kig igennem de sidste dages spørgsmål i dette forum viser en stor interesse for f.eks. message queues, structs og fork() af processer. Områder som udgør en væsentlig del af godkendelses opgaven i datalogi på DØK 2. år på CBS.
Nu kan det naturligvis være et tilfælde at det netop er disse tre områder der er interesse for, men den eksempel kode, som flere vedlægger henviser direkte til opgaven (et lager logistik system for en tøjbutik).
Min kommentar "I skal nok blive til noget" henviser til at jeg finder det temmeligt sørgeligt at studerende må ty til et forum, som dette for at løse en opgave hvor alle de nødvendige kundskaber er præsenteret igennem forelæsninger og øvelser siden september. Hvad signalerer det om DØK'ere til omverdenen?
Avatar billede swaq Nybegynder
27. oktober 2002 - 22:45 #16
Enig :O)
Avatar billede trp79 Nybegynder
27. oktober 2002 - 23:12 #17
Ikke for at gøre det her til et chat forum... men...

-->Jakob
Det var nu bare ment som lidt humor, men det er selvfølgelig op til dig at fortolke det som du vil. At det med støvlerne ikke falder i så god jord, det må jeg jo så huske på. Desuden var hensigten bare at hjælpe lidt.
-->mskott
Bare fordi vi ikke er super skarpe c-hajer, og ret ofte sidder fast. Hvad er så problemet i at hente hjælp et sted som her? Det er vel det formålet er med exp.dk? Om det så er hjælp til en opgave eller hvad det er vel underordnet, hvis man i sin opgave skrive exp.dk på som kilde, hjælpende hånd eller hvad man nu finder på. Jeg kan ikke se noget problem i det. Desuden er det få procenter af døk-opgave-skrivende som stille spørgsmål her.
Avatar billede smeltet Nybegynder
27. oktober 2002 - 23:28 #18
hepsa tp. Jeg synes sgu det var humor. mit var også bare ment i humor....
jeg elsker mine booooooooooooots!!! og jeg ved du også godt kan lide dem.

og lige til swaq og mskott, hold da kæft nogle hellige luder røve i er, det er sgu datil at brække sig over. jeg tror forskellen ligger i a vi lever et liv ved siden af C, hvilket gør det svært at blive super skark...

men ok, det er vel svært at forstå når man sidder med kondens vand løbende ned af brillerne, med oste fingerne fastklæbet til tastaturet!!!!

vi snakkes tp....i morgen håber jeg
Avatar billede trp79 Nybegynder
27. oktober 2002 - 23:42 #19
var sku lige ved at tro du var blevet små hidsig! Det må du aldrig gøre igen ;o)

hehe ost

Vi snakkes!
Avatar billede smeltet Nybegynder
27. oktober 2002 - 23:45 #20
aldrig hidsig. kun lidt små todset engang imellem!!!!

men aldrig når der er jyder i nærheden!!
says
Avatar billede dmcn Praktikant
28. oktober 2002 - 12:44 #21
smeltet deaktiveres.

smeltet : Sprogbrug og generel opførsel er ganske enkelt uacceptabelt. Du bør genoverveje *meget* nøje om du har i sinde at følge reglerne, hvis du skulle få lyst til at oprette en bruger igen.

- n0rmality, coadmin
Avatar billede mskott Nybegynder
28. oktober 2002 - 14:31 #22
Efter alt denne kasten med mudder er det vist på tide at hjælpe lasse_h (opgaven skal jo afleveres på fredag så det er ved at op over).
Lasse_h: Kig på side 475 i "Beginning Linux Programming". Svaret på dit problem står i det afsnit der starter med: The fifth parameter...

Hint: Det drejer sig om IPC_NOWAIT flaget til msgrcv (til de der ikke har bogen)
Avatar billede smartdoek Nybegynder
29. oktober 2002 - 11:08 #23
Et spørgsmål fra kloge:

XXXXXXXXX@image.dk> wrote:
>The line gets written to the file but if I run the program again the
>line generated in the previous run gets overwritten? I dont want that,
>I want the program to append my string to the file without touching
>other lines. Can you help me.

See the open() documentation.  In short:
fp = open('file', 'a')

Alle har vist brug for lidt hjælp
Avatar billede smartdoek Nybegynder
29. oktober 2002 - 11:13 #24
En pointer til overstående til m.skøtt
Avatar billede mskott Nybegynder
29. oktober 2002 - 14:34 #25
Tjah, smartdoek. Dygtig anvendelse af Google. Utroligt hvad der er af arkiver på nettet. Vi skal alle lære noget nyt af og til og i den forbindelse kan det være rart med noget hjælp. Den mailingliste du har fundet mig på er til sproget Python, som jeg lærte ved selvstudie for et par år siden. Dvs. jeg havde ikke haft et antal forelæsninger og øvelsestimer til at lære sproget.
Avatar billede mskotte Nybegynder
29. oktober 2002 - 21:32 #26
@Smeltet: Du behøver ikke lede så meget, jeg er jo lige her :)

http://www.friserverplads.dk/mskott@doek/mskott.jpg

Så kan man vist forstå, at jeg er så god til C :-/
Avatar billede fcs Novice
10. november 2002 - 14:27 #27
mskott>> Citat: "Hvor er det sørgeligt at der er så få DØK studerende der har fulgt med i undervisningen. I skal sgu nok blive til noget..."

Det er måske ikke lige så heldigt at kommentere på den måde. Det er meget konfronterende og næsten at opsøge balladen. Lad venligst være med dette i fremtiden.

Med venlig hilsen

FCS/CoAdmin
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester