Previous 199869 Revisions Next

r20790 Thursday 7th February, 2013 at 04:25:04 UTC by Carl
pcap: don't crash on exit when wpcap.dll is unloaded before pcap_close is called. (nw)
i386: fix bug (nw)
[src/emu/cpu]vtlb.c vtlb.h
[src/emu/cpu/i386]i386priv.h
[src/osd/windows]netdev_pcap.c

trunk/src/osd/windows/netdev_pcap.c
r20789r20790
1010static int (*pcap_setfilter_dl)(pcap_t *, struct bpf_program *) = NULL;
1111static int (*pcap_sendpacket_dl)(pcap_t *, u_char *, int) = NULL;
1212static int (*pcap_set_datalink_dl)(pcap_t *, int) = NULL;
13static HMODULE handle = NULL;
1314
1415#include "emu.h"
1516#include "osdnet.h"
r20789r20790
7374
7475netdev_pcap::~netdev_pcap()
7576{
76   if(m_p) pcap_close_dl(m_p);
77   if(m_p && handle) pcap_close_dl(m_p);
7778}
7879
7980static CREATE_NETDEV(create_pcap)
r20789r20790
8283   return dynamic_cast<netdev *>(dev);
8384}
8485
85static HMODULE handle = NULL;
86
8786void init_pcap()
8887{
8988   pcap_if_t *devs;
r20789r20790
134133{
135134   clear_netdev();
136135   FreeLibrary(handle);
136   handle = NULL;
137137}
trunk/src/emu/cpu/vtlb.c
r20789r20790
229229    vtlb_dynload - load a dynamic VTLB entry
230230-------------------------------------------------*/
231231
232void vtlb_dynload(vtlb_state *vtlb, int index, offs_t address, vtlb_entry value)
232void vtlb_dynload(vtlb_state *vtlb, UINT32 index, offs_t address, vtlb_entry value)
233233{
234234   vtlb_entry entry = vtlb->table[index];
235235
trunk/src/emu/cpu/vtlb.h
r20789r20790
7070void vtlb_load(vtlb_state *vtlb, int entrynum, int numpages, offs_t address, vtlb_entry value);
7171
7272/* load a dynamic VTLB entry */
73void vtlb_dynload(vtlb_state *vtlb, int index, offs_t address, vtlb_entry value);
73void vtlb_dynload(vtlb_state *vtlb, UINT32 index, offs_t address, vtlb_entry value);
7474
7575/* ----- flushing ----- */
7676
trunk/src/emu/cpu/i386/i386priv.h
r20789r20790
586586      return TRUE;
587587
588588   const vtlb_entry *table = vtlb_table(cpustate->vtlb);
589   int index = *address >> 12;
589   UINT32 index = *address >> 12;
590590   vtlb_entry entry = table[index];
591591   if(type == TRANSLATE_FETCH)
592592      type = TRANSLATE_READ;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team