![]() |
| | #1 |
| Registered User Join Date: Dec 2005 Location: Cyprus
Posts: 60
| Cannot create shared memory Code: #include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include "functions_Server.h"
int main() {
int client_len, loc_socket, rem_socket;
int shm_id;
char* data;
struct sockaddr addr;
struct sockaddr client_addr;
loc_socket=socket(AF_UNIX,SOCK_STREAM,0);
unlink(SOCKFILE);
bzero(&addr,sizeof(addr));
addr.sa_family=AF_UNIX;
strcpy(addr.sa_data,SOCKFILE);
if (bind(loc_socket,&addr,sizeof(addr))<0) {
printf("Server bind failure %d\n",errno);
perror("Server:");
exit(1);
}
if (listen(loc_socket,LISTEN_Q)<0) {
printf("Server listen failure %d\n",errno);
perror("Server:");
exit(1);
}
//HERE IS MY PROBLEM
shm_id= shmget(SHM_KEY, SHM_SIZE, 0600 | IPC_CREAT);
if (shm_id!= 0) {
printf("Could not create shared memory!\n");
exit(1);
}
//HERE IS MY PROBLEM
printf("/n%d/n",shm_id);
for (;;) {
if ((rem_socket=accept(loc_socket,&client_addr,&client_len))<0){
printf("server accept failure%d\n",errno);
perror("Server: ");
}
printf("\n%d\n",rem_socket);
/*rest of code here */
close(rem_socket);
}
}
|
| Phoenix_Rebirth is offline | |
| | #2 |
| Registered User Join Date: Oct 2008
Posts: 35
| shmget returns -1 on error. and memory identifier on success. you need to test if return is -1 and not if different from 0 you are getting memory identifier in shm_id, and thinking it means error... |
| Ironic is offline | |
| | #3 |
| and the Hat of Guessing Join Date: Nov 2007
Posts: 8,740
| Type man shmget and look at return values. I don't see how 0 could be returned. |
| tabstop is offline | |
| | #4 |
| Registered User Join Date: Dec 2005 Location: Cyprus
Posts: 60
| Hmm, Yes you are right, it returns something like 55115. Don't know how I couldnt see it , thank you very much |
| Phoenix_Rebirth is offline | |
![]() |
| Thread Tools | |
| Display Modes | |
|
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Problem with linked list and shared memory | Sirfabius | C Programming | 10 | 11-10-2008 04:45 PM |
| Shared Memory semaphores? | Ironic | C Programming | 0 | 10-31-2008 07:13 PM |
| Thread Prog in C language (seg fault) | kumars | C Programming | 22 | 10-09-2008 01:17 PM |
| Shared memory implementation using thread | kumars | C Programming | 5 | 06-18-2008 04:24 AM |
| shared memory not getting freed | Elkvis | Linux Programming | 19 | 02-29-2008 04:48 PM |