Re: [Barry-devel] WinCE port of Barry
Status: Beta
Brought to you by:
ndprojects
From: Toby G. <tob...@re...> - 2012-07-25 10:38:16
|
On 21/07/12 07:46, Chris Frey wrote: > On Mon, Jul 16, 2012 at 12:10:28PM +0100, Toby Gray wrote: >> The rest of the commits are a combination of changes to the code to fix >> warnings or errors from the Microsoft compiler. If the commit messages >> aren't detailed enough for any of these then let me know and I'll fill >> in the gaps (and update the commit messages). > I'm merging in the obvious fixes into master, and the changes that I think > might need to wait until version 0.19.0 (due to abi changes, etc), I've put > in a new branch v0.19.0. Expect that branch to be rebased on master > periodically. I'm not quite done yet. Thanks for looking at this even though I didn't get time to respond to your first email. Is the only abi change the tr1 smart_ptr support? If so then I was planning on seeing if your suggestion for using boost to provide tr1 on WinCE would work, as that would certainly be cleaner. > > You should be able to rebase your branch onto the v0.19.0 branch to see > what I haven't processed yet. > > > Some questions: > > 1) > > Can you explain why you need a lock() member in scoped_lock? > The idea behind scoped_lock is to force its use in a scoped section, > to prevent forgotten unlocks and to make the sections obvious. > > Was there a real need for it? Only for the transferring of interest in a socket, which I'm hoping to rework to avoid the need for this. > 2) > > Author: Toby Gray <tob...@re...> > Date: Thu Jun 7 15:46:53 2012 +0100 > > lib: Fixing incorrect forward declaration of ProbeResult as a struct, it's r > eally a class. > > diff --git a/src/controller.h b/src/controller.h > index 8e3ba85..41727c7 100644 > --- a/src/controller.h > +++ b/src/controller.h > @@ -32,7 +32,7 @@ namespace Barry { > > // forward declarations > class SocketRoutingQueue; > -class ProbeResult; > +struct ProbeResult; > > class PrivateControllerData; > > > Is this a problem with the Microsoft compiler? I believe that strictly > speaking, according to the C++ spec, class and struct can be used > interchangeably. It's certainly an issue with the Microsoft compiler. I can't quite remember the issue but I think it was causing the mangled names of either methods with ProbeResult as a parameter or the type information (vtable etc.) for the class to not match up. I'll try to reproduce the issue and add a bit more detail to the commit message. Regards, Toby |