- IntPtr domainPtr = Utility.StringToPtr (domain);
- IntPtr typePtr = Utility.StringToPtr (type);
- handle = avahi_service_browser_new (client.Handle, iface, (int) proto, typePtr, domainPtr,
- OnServiceBrowserCallback, IntPtr.Zero);
- Utility.Free (domainPtr);
- Utility.Free (typePtr);
+ lock (client) {
+ handle = avahi_service_browser_new (client.Handle, iface, (int) proto,
+ Utility.StringToBytes (type), Utility.StringToBytes (domain),
+ flags, cb, IntPtr.Zero);
+
+ if (handle == IntPtr.Zero)
+ client.ThrowError ();
+ }