summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@atca1.(none)>2015-05-12 09:41:07 +0800
committerroot <root@atca1.(none)>2015-05-12 09:41:07 +0800
commitfc0925d52af8ad3dcfcc82a47008ce72669d1af7 (patch)
tree1d4640507435e8f104c4ecdd557992d7fe5b2f2e
parentdc1e6514f0b582a8cce9f397e3fe1872c11f4474 (diff)
修复ethreader中的bug。原有代码没有在读取数据后释放锁,导致死锁。20150512
-rw-r--r--driver/nstat.c2
-rw-r--r--logreader/ethreader/ethreader.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/driver/nstat.c b/driver/nstat.c
index 91c1385..0451622 100644
--- a/driver/nstat.c
+++ b/driver/nstat.c
@@ -103,7 +103,7 @@ int nstat_init()
//Ethinfo shared memory
int shm_fd_ethinfo = shm_open(NSTAT_SHAREMEMORY_ETHSTAT_SYMBOL, O_RDWR|O_CREAT, SHM_FILEMODE);
- ftruncate(shm_fd, sizeof(struct ethinfo_stat));
+ ftruncate(shm_fd_ethinfo, sizeof(struct ethinfo_stat));
void * shm_ptr_ethinfo = mmap(NULL, sizeof(struct ethinfo_stat), PROT_READ | PROT_WRITE,
MAP_SHARED, shm_fd_ethinfo, 0);
diff --git a/logreader/ethreader/ethreader.c b/logreader/ethreader/ethreader.c
index 40e9a37..199d565 100644
--- a/logreader/ethreader/ethreader.c
+++ b/logreader/ethreader/ethreader.c
@@ -68,6 +68,8 @@ void nic_stats_display(int port_id)
#endif
printf(" %s############################%s\n",
nic_stats_border, nic_stats_border);
+
+ rte_rwlock_read_unlock(&ethinfo_handle->rwlock);
}