diff options
| author | root <root@atca1.(none)> | 2015-05-12 09:41:07 +0800 |
|---|---|---|
| committer | root <root@atca1.(none)> | 2015-05-12 09:41:07 +0800 |
| commit | fc0925d52af8ad3dcfcc82a47008ce72669d1af7 (patch) | |
| tree | 1d4640507435e8f104c4ecdd557992d7fe5b2f2e | |
| parent | dc1e6514f0b582a8cce9f397e3fe1872c11f4474 (diff) | |
修复ethreader中的bug。原有代码没有在读取数据后释放锁,导致死锁。20150512
| -rw-r--r-- | driver/nstat.c | 2 | ||||
| -rw-r--r-- | logreader/ethreader/ethreader.c | 2 |
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(ðinfo_handle->rwlock); } |
