Diff for /freem/src/shmmgr.c between versions 1.6 and 1.8

version 1.6, 2025/04/04 19:43:18 version 1.8, 2025/04/14 19:46:18
Line 24 Line 24
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.   *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *   *
  *   $Log$   *   $Log$
    *   Revision 1.8  2025/04/14 19:46:18  snw
    *   Add SHM_REMAP flag to shmat on FreeBSD
    *
    *   Revision 1.7  2025/04/09 19:52:02  snw
    *   Eliminate as many warnings as possible while building with -Wall
    *
  *   Revision 1.6  2025/04/04 19:43:18  snw   *   Revision 1.6  2025/04/04 19:43:18  snw
  *   Switch to using environment catalog to determine user and group for environment, and remove -u and -g flags from freem   *   Switch to using environment catalog to determine user and group for environment, and remove -u and -g flags from freem
  *   *
Line 76  shm_config_t *shm_config = (shm_config_t Line 82  shm_config_t *shm_config = (shm_config_t
   
 short shm_init(const size_t seg_size)  short shm_init(const size_t seg_size)
 {  {
     union semun arg;  
     size_t alloc_map_size;      size_t alloc_map_size;
     long pg_size;      long pg_size;
     register int i;  
     key_t shm_sk;      key_t shm_sk;
   
     shm_sk = ftok (config_file, 5);          shm_sk = ftok (config_file, 5);    
Line 168  short shm_init(const size_t seg_size) Line 172  short shm_init(const size_t seg_size)
                     fprintf (stderr, "shm_init:  detach failed during detach/reattach [shmdt error %s]\r\n", strerror (errno));                      fprintf (stderr, "shm_init:  detach failed during detach/reattach [shmdt error %s]\r\n", strerror (errno));
                     exit (1);                      exit (1);
                 }                  }
                   
   #if defined(__FreeBSD__)
                   shm_config->dta = shmat (shm_config->seg_id, new_addr, SHM_REMAP);
   #else                
                 shm_config->dta = shmat (shm_config->seg_id, new_addr, 0);                  shm_config->dta = shmat (shm_config->seg_id, new_addr, 0);
   #endif
                   
                   
   
                 if (shm_config->dta == (void *) -1) {                  if (shm_config->dta == (void *) -1) {
                     fprintf (stderr, "shm_init:  fatal error attaching shared memory segment [shmat error '%s']\r\n", strerror (errno));                      fprintf (stderr, "shm_init:  fatal error attaching shared memory segment [shmat error '%s']\r\n", strerror (errno));
Line 200  short shm_init(const size_t seg_size) Line 210  short shm_init(const size_t seg_size)
 void shm_daemon_init(void)  void shm_daemon_init(void)
 {  {
     union semun arg;      union semun arg;
     size_t alloc_map_size;  
     key_t shm_sk;      key_t shm_sk;
     register int i;      register int i;
   
Line 476  void shm_dump(void) Line 485  void shm_dump(void)
     printf ("SHARED MEMORY CONFIGURATION\r\n");      printf ("SHARED MEMORY CONFIGURATION\r\n");
     printf ("  pgsiz                   %ld\r\n", (unsigned long) shm_config->pgsiz);      printf ("  pgsiz                   %ld\r\n", (unsigned long) shm_config->pgsiz);
     printf ("  pgct                    %d\r\n", shm_config->pgct);      printf ("  pgct                    %d\r\n", shm_config->pgct);
     printf ("  key                     %ld\r\n", shm_config->key);      printf ("  key                     %d\r\n", shm_config->key);
     printf ("  segid                   %d\r\n", shm_config->seg_id);      printf ("  segid                   %d\r\n", shm_config->seg_id);
     printf ("  sizeof shm_page_t       %ld\r\n", (long) sizeof (shm_page_t));      printf ("  sizeof shm_page_t       %ld\r\n", (long) sizeof (shm_page_t));
     printf ("  segsiz                  %ld\r\n", (long) shm_config->segsiz);      printf ("  segsiz                  %ld\r\n", (long) shm_config->segsiz);

Removed from v.1.6  
changed lines
  Added in v.1.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>