changeset 930:c978ff8efbfc

* src/socket.cxx: Give nstab_lock mutex a priority. Also it's local, so make static. Change nstab and nstab_end to cyg_nstab and cyg_nstab_end for cleaner namespace. * include/sockio.h: nstab -> cyg_nstab. * src/misc.cxx, src/dir.cxx, src/fio.h, src/file.cxx: Change fstab, fstab_end, mtab, mtab_end, cdir_dir, cdir_mtab_entry to have cyg_ prefix for cleaner namespace.
author jlarmour
date Fri, 11 Apr 2003 02:06:11 +0000
parents a53170851807
children d7c9117adc25
files packages/io/fileio/current/ChangeLog packages/io/fileio/current/src/dir.cxx packages/io/fileio/current/src/file.cxx packages/io/fileio/current/src/fio.h packages/io/fileio/current/src/misc.cxx packages/io/fileio/current/src/socket.cxx
diffstat 6 files changed, 98 insertions(+), 87 deletions(-) [+]
line wrap: on
line diff
--- a/packages/io/fileio/current/ChangeLog
+++ b/packages/io/fileio/current/ChangeLog
@@ -1,3 +1,14 @@
+2003-04-11  Jonathan Larmour  <jifl@eCosCentric.com>
+
+	* src/socket.cxx: Give nstab_lock mutex a priority. Also it's
+	local, so make static.
+	Change nstab and nstab_end to cyg_nstab and cyg_nstab_end for
+	cleaner namespace.
+	* include/sockio.h: nstab -> cyg_nstab.
+	* src/misc.cxx, src/dir.cxx, src/fio.h, src/file.cxx: Change
+	fstab, fstab_end, mtab, mtab_end, cdir_dir, cdir_mtab_entry to
+	have cyg_ prefix for cleaner namespace.
+
 2003-03-20  Gary Thomas  <gary@mlbassoc.com>
 
 	* src/devfs.cxx: Remove unnecessary checks for -EAGAIN (should
--- a/packages/io/fileio/current/src/dir.cxx
+++ b/packages/io/fileio/current/src/dir.cxx
@@ -98,8 +98,8 @@ extern DIR *opendir( const char *dirname
     int ret = 0;
     int fd;
     cyg_file *file;
-    cyg_mtab_entry *mte = cdir_mtab_entry;
-    cyg_dir dir = cdir_dir;
+    cyg_mtab_entry *mte = cyg_cdir_mtab_entry;
+    cyg_dir dir = cyg_cdir_dir;
     const char *name = dirname;
 
     fd = cyg_fd_alloc(1); // Never return fd 0
--- a/packages/io/fileio/current/src/file.cxx
+++ b/packages/io/fileio/current/src/file.cxx
@@ -114,7 +114,7 @@ static void update_cwd( cyg_mtab_entry *
 {
     char *p = cwd;
 
-    if( mte != cdir_mtab_entry || dir != cdir_dir )
+    if( mte != cyg_cdir_mtab_entry || dir != cyg_cdir_dir )
     {
         // Here, the path is relative to the root of the filesystem,
         // or in a totally new filesystem, initialize the cwd with the
@@ -193,8 +193,8 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     int ret = 0;
     int fd;
     cyg_file *file;
-    cyg_mtab_entry *mte = cdir_mtab_entry;
-    cyg_dir dir = cdir_dir;
+    cyg_mtab_entry *mte = cyg_cdir_mtab_entry;
+    cyg_dir dir = cyg_cdir_dir;
     const char *name = path;
 
     // At least one of O_RDONLY, O_WRONLY, O_RDWR must be provided
@@ -261,8 +261,8 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     FILEIO_ENTRY();
     
     int ret = 0;
-    cyg_mtab_entry *mte = cdir_mtab_entry;
-    cyg_dir dir = cdir_dir;
+    cyg_mtab_entry *mte = cyg_cdir_mtab_entry;
+    cyg_dir dir = cyg_cdir_dir;
     const char *name = path;
 
     ret = cyg_mtab_lookup( &dir, &name, &mte );
@@ -287,8 +287,8 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     FILEIO_ENTRY();
     
     int ret = 0;
-    cyg_mtab_entry *mte = cdir_mtab_entry;
-    cyg_dir dir = cdir_dir;
+    cyg_mtab_entry *mte = cyg_cdir_mtab_entry;
+    cyg_dir dir = cyg_cdir_dir;
     const char *name = path;
 
     mode=mode;
@@ -315,8 +315,8 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     FILEIO_ENTRY();
     
     int ret = 0;
-    cyg_mtab_entry *mte = cdir_mtab_entry;
-    cyg_dir dir = cdir_dir;
+    cyg_mtab_entry *mte = cyg_cdir_mtab_entry;
+    cyg_dir dir = cyg_cdir_dir;
     const char *name = path;
 
     ret = cyg_mtab_lookup( &dir, &name, &mte );
@@ -341,10 +341,10 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     FILEIO_ENTRY();
     
     int ret = 0;
-    cyg_mtab_entry *mte1 = cdir_mtab_entry;
-    cyg_mtab_entry *mte2 = cdir_mtab_entry;
-    cyg_dir dir1 = cdir_dir;
-    cyg_dir dir2 = cdir_dir;
+    cyg_mtab_entry *mte1 = cyg_cdir_mtab_entry;
+    cyg_mtab_entry *mte2 = cyg_cdir_mtab_entry;
+    cyg_dir dir1 = cyg_cdir_dir;
+    cyg_dir dir2 = cyg_cdir_dir;
     const char *name1 = path1;
     const char *name2 = path2;
 
@@ -379,10 +379,10 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     FILEIO_ENTRY();
     
     int ret = 0;
-    cyg_mtab_entry *mte1 = cdir_mtab_entry;
-    cyg_mtab_entry *mte2 = cdir_mtab_entry;
-    cyg_dir dir1 = cdir_dir;
-    cyg_dir dir2 = cdir_dir;
+    cyg_mtab_entry *mte1 = cyg_cdir_mtab_entry;
+    cyg_mtab_entry *mte2 = cyg_cdir_mtab_entry;
+    cyg_dir dir1 = cyg_cdir_dir;
+    cyg_dir dir2 = cyg_cdir_dir;
     const char *name1 = path1;
     const char *name2 = path2;
 
@@ -417,8 +417,8 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     FILEIO_ENTRY();
     
     int ret = 0;
-    cyg_mtab_entry *mte = cdir_mtab_entry;
-    cyg_dir dir = cdir_dir;
+    cyg_mtab_entry *mte = cyg_cdir_mtab_entry;
+    cyg_dir dir = cyg_cdir_dir;
     cyg_dir newdir;
     const char *name = path;
 
@@ -440,24 +440,24 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     update_cwd( mte, dir, name );
 #endif
     
-    if( cdir_mtab_entry != NULL && cdir_dir != CYG_DIR_NULL )
+    if( cyg_cdir_mtab_entry != NULL && cyg_cdir_dir != CYG_DIR_NULL )
     {
-        // Now detach from current cdir. We call the current directory's
+        // Now detach from current cyg_cdir. We call the current directory's
         // chdir routine with a NULL dir_out pointer.
 
-        LOCK_FS(cdir_mtab_entry);
+        LOCK_FS(cyg_cdir_mtab_entry);
 
-        ret = cdir_mtab_entry->fs->chdir( cdir_mtab_entry, cdir_dir, NULL, NULL );
+        ret = cyg_cdir_mtab_entry->fs->chdir( cyg_cdir_mtab_entry, cyg_cdir_dir, NULL, NULL );
     
-        UNLOCK_FS(cdir_mtab_entry);
+        UNLOCK_FS(cyg_cdir_mtab_entry);
 
         // We really shouldn't get an error here.
         if( 0 != ret )
             FILEIO_RETURN(ret);
     }
     
-    cdir_mtab_entry = mte;
-    cdir_dir = newdir;
+    cyg_cdir_mtab_entry = mte;
+    cyg_cdir_dir = newdir;
     
     FILEIO_RETURN(ENOERR);
 }
@@ -470,8 +470,8 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     FILEIO_ENTRY();
     
     int ret = 0;
-    cyg_mtab_entry *mte = cdir_mtab_entry;
-    cyg_dir dir = cdir_dir;
+    cyg_mtab_entry *mte = cyg_cdir_mtab_entry;
+    cyg_dir dir = cyg_cdir_dir;
     const char *name = path;
 
     ret = cyg_mtab_lookup( &dir, &name, &mte );
@@ -496,8 +496,8 @@ static Cyg_Mutex getcwd_lock CYGBLD_ATTR
     FILEIO_ENTRY();
     
     int ret = 0;
-    cyg_mtab_entry *mte = cdir_mtab_entry;
-    cyg_dir dir = cdir_dir;
+    cyg_mtab_entry *mte = cyg_cdir_mtab_entry;
+    cyg_dir dir = cyg_cdir_dir;
     const char *name = path;
 
     ret = cyg_mtab_lookup( &dir, &name, &mte );
@@ -559,8 +559,8 @@ extern int 	access(const char *path, int
     FILEIO_ENTRY();
 
     int err = ENOERR;
-    cyg_mtab_entry *mte = cdir_mtab_entry;
-    cyg_dir dir = cdir_dir;
+    cyg_mtab_entry *mte = cyg_cdir_mtab_entry;
+    cyg_dir dir = cyg_cdir_dir;
     cyg_getcwd_info info;
 
     if( size == 0 )
--- a/packages/io/fileio/current/src/fio.h
+++ b/packages/io/fileio/current/src/fio.h
@@ -184,8 +184,8 @@ CYG_MACRO_END
 // Exports from misc.cxx
 
 // Current directory info
-__externC cyg_mtab_entry *cdir_mtab_entry;
-__externC cyg_dir cdir_dir;
+__externC cyg_mtab_entry *cyg_cdir_mtab_entry;
+__externC cyg_dir cyg_cdir_dir;
 
 __externC int cyg_mtab_lookup( cyg_dir *dir, const char **name, cyg_mtab_entry **mte);
 
--- a/packages/io/fileio/current/src/misc.cxx
+++ b/packages/io/fileio/current/src/misc.cxx
@@ -93,42 +93,42 @@ static void cyg_mtab_init();
 
 // This array contains entries for all filesystem that are installed in
 // the system.
-__externC cyg_fstab_entry fstab[];
-CYG_HAL_TABLE_BEGIN( fstab, fstab );
+__externC cyg_fstab_entry cyg_fstab[];
+CYG_HAL_TABLE_BEGIN( cyg_fstab, fstab );
 
 // end of filesystem table, set in linker script.
-__externC cyg_fstab_entry fstab_end;
-CYG_HAL_TABLE_END( fstab_end, fstab );
+__externC cyg_fstab_entry cyg_fstab_end;
+CYG_HAL_TABLE_END( cyg_fstab_end, fstab );
 
 #ifdef CYGPKG_KERNEL
 // Array of mutexes for locking the fstab entries
-Cyg_Mutex fstab_lock[CYGNUM_FILEIO_FSTAB_MAX] CYGBLD_ATTRIB_INIT_PRI(CYG_INIT_IO_FS);
+static Cyg_Mutex fstab_lock[CYGNUM_FILEIO_FSTAB_MAX] CYGBLD_ATTRIB_INIT_PRI(CYG_INIT_IO_FS);
 #endif
 
 // -------------------------------------------------------------------------
 // Mount table.
 
 // This array contains entries for all valid running filesystems.
-__externC cyg_mtab_entry mtab[];
-CYG_HAL_TABLE_BEGIN( mtab, mtab );
+__externC cyg_mtab_entry cyg_mtab[];
+CYG_HAL_TABLE_BEGIN( cyg_mtab, mtab );
 
 // Extra entries at end of mtab for dynamic mount points.
-cyg_mtab_entry mtab_extra[CYGNUM_FILEIO_MTAB_EXTRA] CYG_HAL_TABLE_EXTRA(mtab) = { { NULL } };
+cyg_mtab_entry cyg_mtab_extra[CYGNUM_FILEIO_MTAB_EXTRA] CYG_HAL_TABLE_EXTRA(mtab) = { { NULL } };
 
 // End of mount table, set in the linker script.
-__externC cyg_mtab_entry mtab_end;
-CYG_HAL_TABLE_END( mtab_end, mtab );
+__externC cyg_mtab_entry cyg_mtab_end;
+CYG_HAL_TABLE_END( cyg_mtab_end, mtab );
 
 #ifdef CYGPKG_KERNEL
 // Array of mutexes for locking the mtab entries
-Cyg_Mutex mtab_lock[CYGNUM_FILEIO_MTAB_MAX] CYGBLD_ATTRIB_INIT_PRI(CYG_INIT_IO_FS);
+static Cyg_Mutex mtab_lock[CYGNUM_FILEIO_MTAB_MAX] CYGBLD_ATTRIB_INIT_PRI(CYG_INIT_IO_FS);
 #endif
 
 //==========================================================================
 // Current directory
 
-cyg_mtab_entry *cdir_mtab_entry = NULL;
-cyg_dir cdir_dir = CYG_DIR_NULL;
+cyg_mtab_entry *cyg_cdir_mtab_entry = NULL;
+cyg_dir cyg_cdir_dir = CYG_DIR_NULL;
 
 //==========================================================================
 // Initialization object
@@ -157,7 +157,7 @@ static void cyg_mtab_init()
 {
     cyg_mtab_entry *m;
     
-    for( m = &mtab[0]; m != &mtab_end; m++ )
+    for( m = &cyg_mtab[0]; m != &cyg_mtab_end; m++ )
     {
         const char *fsname = m->fsname;
         cyg_fstab_entry *f;
@@ -167,13 +167,13 @@ static void cyg_mtab_init()
             continue;
         
         // stop if there are more than the configured maximum
-        if( m-&mtab[0] >= CYGNUM_FILEIO_MTAB_MAX )
+        if( m-&cyg_mtab[0] >= CYGNUM_FILEIO_MTAB_MAX )
             break;
         
-        for( f = &fstab[0]; f != &fstab_end; f++ )
+        for( f = &cyg_fstab[0]; f != &cyg_fstab_end; f++ )
         {
             // stop if there are more than the configured maximum
-            if( f-&fstab[0] >= CYGNUM_FILEIO_FSTAB_MAX )
+            if( f-&cyg_fstab[0] >= CYGNUM_FILEIO_FSTAB_MAX )
                 break;
             
             if( strcmp( fsname, f->name) == 0 )
@@ -241,7 +241,7 @@ static int matchlen( const char *s1, con
     }
 
     // Otherwise search the mount table.
-    for( m = &mtab[0]; m != &mtab_end; m++ )
+    for( m = &cyg_mtab[0]; m != &cyg_mtab_end; m++ )
     {
         if( m->name != NULL && m->valid )
         {
@@ -278,33 +278,33 @@ static int matchlen( const char *s1, con
     int result = ENOERR;
 
     // Search the mount table for an empty entry
-    for( m = &mtab[0]; m != &mtab_end; m++ )
+    for( m = &cyg_mtab[0]; m != &cyg_mtab_end; m++ )
     {
         // stop if there are more than the configured maximum
-        if( m-&mtab[0] >= CYGNUM_FILEIO_MTAB_MAX )
+        if( m-&cyg_mtab[0] >= CYGNUM_FILEIO_MTAB_MAX )
         {
-            m = &mtab_end;
+            m = &cyg_mtab_end;
             break;
         }
 
          if( m->name == NULL ) break;
     }
 
-    if( m == &mtab_end )
+    if( m == &cyg_mtab_end )
         FILEIO_RETURN(ENOMEM);
 
     // Now search the fstab for the filesystem implementation
-    for( f = &fstab[0]; f != &fstab_end; f++ )
+    for( f = &cyg_fstab[0]; f != &cyg_fstab_end; f++ )
     {
         // stop if there are more than the configured maximum
-        if( f-&fstab[0] >= CYGNUM_FILEIO_FSTAB_MAX )
+        if( f-&cyg_fstab[0] >= CYGNUM_FILEIO_FSTAB_MAX )
             break;
             
         if( strcmp( fsname, f->name) == 0 )
             break;
     }
 
-    if( f == &fstab_end )
+    if( f == &cyg_fstab_end )
         FILEIO_RETURN(ENODEV);
             
     // We have a match.
@@ -327,8 +327,8 @@ static int matchlen( const char *s1, con
 
     // Make sure that there is something to search (for open)
 
-    if (cdir_mtab_entry == (cyg_mtab_entry *)NULL) {
-        cdir_mtab_entry = m;
+    if (cyg_cdir_mtab_entry == (cyg_mtab_entry *)NULL) {
+        cyg_cdir_mtab_entry = m;
     }
 
     FILEIO_RETURN(result);
@@ -346,12 +346,12 @@ static int matchlen( const char *s1, con
     cyg_mtab_entry *m;
 
     // Search the mount table for a matching entry
-    for( m = &mtab[0]; m != &mtab_end; m++ )
+    for( m = &cyg_mtab[0]; m != &cyg_mtab_end; m++ )
     {
         // stop if there are more than the configured maximum
-        if( m-&mtab[0] >= CYGNUM_FILEIO_MTAB_MAX )
+        if( m-&cyg_mtab[0] >= CYGNUM_FILEIO_MTAB_MAX )
         {
-            m = &mtab_end;
+            m = &cyg_mtab_end;
             break;
         }
 
@@ -364,7 +364,7 @@ static int matchlen( const char *s1, con
          // Match device name too?
     }
 
-    if( m == &mtab_end )
+    if( m == &cyg_mtab_end )
         FILEIO_RETURN(EINVAL);
 
     // We have a match, call the umount function
@@ -388,13 +388,13 @@ void cyg_fs_lock( cyg_mtab_entry *mte, c
     CYG_ASSERT(mte != NULL, "Bad mount table entry");
 
     if( syncmode & CYG_SYNCMODE_FILE_FILESYSTEM ) {
-        CYG_ASSERT(mte->fs-&fstab[0] < CYGNUM_FILEIO_FSTAB_MAX, "Bad file system");
-        FILEIO_MUTEX_LOCK( fstab_lock[mte->fs-&fstab[0]] );
+        CYG_ASSERT(mte->fs-&cyg_fstab[0] < CYGNUM_FILEIO_FSTAB_MAX, "Bad file system");
+        FILEIO_MUTEX_LOCK( fstab_lock[mte->fs-&cyg_fstab[0]] );
     }
 
     if( syncmode & CYG_SYNCMODE_FILE_MOUNTPOINT ) {
-        CYG_ASSERT(mte-&mtab[0] < CYGNUM_FILEIO_MTAB_MAX, "Bad mount point");
-        FILEIO_MUTEX_LOCK( mtab_lock[mte-&mtab[0]] );
+        CYG_ASSERT(mte-&cyg_mtab[0] < CYGNUM_FILEIO_MTAB_MAX, "Bad mount point");
+        FILEIO_MUTEX_LOCK( mtab_lock[mte-&cyg_mtab[0]] );
     }
 }
 
@@ -403,13 +403,13 @@ void cyg_fs_unlock( cyg_mtab_entry *mte,
     CYG_ASSERT(mte != NULL, "Bad mount table entry");
 
     if( syncmode & CYG_SYNCMODE_FILE_FILESYSTEM ) {
-        CYG_ASSERT(mte->fs-&fstab[0] < CYGNUM_FILEIO_FSTAB_MAX, "Bad file system");
-        FILEIO_MUTEX_UNLOCK( fstab_lock[mte->fs-&fstab[0]] );
+        CYG_ASSERT(mte->fs-&cyg_fstab[0] < CYGNUM_FILEIO_FSTAB_MAX, "Bad file system");
+        FILEIO_MUTEX_UNLOCK( fstab_lock[mte->fs-&cyg_fstab[0]] );
     }
 
     if( syncmode & CYG_SYNCMODE_FILE_MOUNTPOINT ) {
-        CYG_ASSERT(mte-&mtab[0] < CYGNUM_FILEIO_MTAB_MAX, "Bad mount point");
-        FILEIO_MUTEX_UNLOCK( mtab_lock[mte-&mtab[0]] );
+        CYG_ASSERT(mte-&cyg_mtab[0] < CYGNUM_FILEIO_MTAB_MAX, "Bad mount point");
+        FILEIO_MUTEX_UNLOCK( mtab_lock[mte-&cyg_mtab[0]] );
     }
 }
 
--- a/packages/io/fileio/current/src/socket.cxx
+++ b/packages/io/fileio/current/src/socket.cxx
@@ -110,14 +110,14 @@ static void cyg_sock_unlock( cyg_file *f
 // Tables and local variables
 
 // Array of network stacks installed
-__externC cyg_nstab_entry nstab[];
-CYG_HAL_TABLE_BEGIN( nstab, nstab );
+__externC cyg_nstab_entry cyg_nstab[];
+CYG_HAL_TABLE_BEGIN( cyg_nstab, nstab );
 
 // End of array marker
-__externC cyg_nstab_entry nstab_end;
-CYG_HAL_TABLE_END( nstab_end, nstab );
+__externC cyg_nstab_entry cyg_nstab_end;
+CYG_HAL_TABLE_END( cyg_nstab_end, nstab );
 
-Cyg_Mutex nstab_lock[CYGNUM_FILEIO_NSTAB_MAX];
+static Cyg_Mutex nstab_lock[CYGNUM_FILEIO_NSTAB_MAX] CYGBLD_ATTRIB_INIT_PRI(CYG_INIT_IO_FS);
 
 //==========================================================================
 // Initialization
@@ -126,10 +126,10 @@ Cyg_Mutex nstab_lock[CYGNUM_FILEIO_NSTAB
 {
     cyg_nstab_entry *n;
 
-    for( n = &nstab[0]; n != &nstab_end; n++ )
+    for( n = &cyg_nstab[0]; n != &cyg_nstab_end; n++ )
     {
         // stop if there are more than the configured maximum
-        if( n-&nstab[0] >= CYGNUM_FILEIO_NSTAB_MAX )
+        if( n-&cyg_nstab[0] >= CYGNUM_FILEIO_NSTAB_MAX )
             break;
 
         if( n->init( n ) == 0 )
@@ -167,7 +167,7 @@ Cyg_Mutex nstab_lock[CYGNUM_FILEIO_NSTAB
 
     cyg_nstab_entry *n;
 
-    for( n = &nstab[0]; n != &nstab_end; n++ )
+    for( n = &cyg_nstab[0]; n != &cyg_nstab_end; n++ )
     {
         LOCK_NS( n );
         
@@ -697,7 +697,7 @@ static void cyg_ns_lock( cyg_nstab_entry
 {
     if( ns->syncmode & CYG_SYNCMODE_SOCK_NETSTACK )
     {
-        nstab_lock[ns-&nstab[0]].lock();
+        nstab_lock[ns-&cyg_nstab[0]].lock();
     }
 }
 
@@ -705,7 +705,7 @@ static void cyg_ns_unlock( cyg_nstab_ent
 {
     if( ns->syncmode & CYG_SYNCMODE_SOCK_NETSTACK )
     {
-        nstab_lock[ns-&nstab[0]].unlock();
+        nstab_lock[ns-&cyg_nstab[0]].unlock();
     }
 }
 
@@ -714,7 +714,7 @@ static void cyg_sock_lock( cyg_file *fp 
     cyg_nstab_entry *ns = (cyg_nstab_entry *)fp->f_mte;
 
     if( fp->f_syncmode & CYG_SYNCMODE_SOCK_NETSTACK )
-        nstab_lock[ns-&nstab[0]].lock();
+        nstab_lock[ns-&cyg_nstab[0]].lock();
 
     cyg_file_lock( fp, fp->f_syncmode>>CYG_SYNCMODE_SOCK_SHIFT);
 }
@@ -724,7 +724,7 @@ static void cyg_sock_unlock( cyg_file *f
     cyg_nstab_entry *ns = (cyg_nstab_entry *)fp->f_mte;
 
     if( fp->f_syncmode & CYG_SYNCMODE_SOCK_NETSTACK )
-        nstab_lock[ns-&nstab[0]].unlock();
+        nstab_lock[ns-&cyg_nstab[0]].unlock();
 
     cyg_file_unlock( fp, fp->f_syncmode>>CYG_SYNCMODE_SOCK_SHIFT);
 }