Wine Traffic #54 For 30�Jul�2000

By Eric Pouech

Table Of Contents

Introduction

This is the 54th release of the Wine's kernel cousin publication. It's main goal is to distribute widely what's going on around Wine (the Un*x windows emulator).

Mailing List Stats For This Week

We looked at 122 posts in 361K.

There were 42 different contributors. 22 posted more than once. 23 posted last week too.

The top posters of the week were:

1. Connection detection

25�Jul�2000�-�27�Jul�2000 (18 posts) Archive Link: "InternetCheckConnection"

People: Marcus Meissner,�Alexandre Julliard,�Gerald Pfeifer,�,�Bertho Stultiens,�Aric Stewart

Aric Stewart posted a patch implementing the InternetCheckConnection() API. This function checks whether an Internet connection is available.

Marcus Meissner didn't like the implementation (it was using a ping to a certain address):
This can be considered a denail of service attack. Imagine an application doing:
����TryFireUpDialin();
����while (!InternetCheckConnection());

Not good. Also even without a ping getting through we can still access URLs if behind a firewall.

We should probably just check if we have a network connection at all.
. Marcus suggested either parsing the output of 'ifconfig' checking for ppp or eth interfaces, or looking at 'route -n' for those interfaces.

Bertho Stultiens proposed to use 'netstat -r -n' to get the correct interfaces.

St�phane Lussier pointed out that Microsoft's documentation says that when FLAG_ICC_FORCE_CONNECTION flag is set, the function shall try the URL. http://msdn.microsoft.com/workshop/networking/wininet/reference/functions/InternetCheckConnection.asp

Then part of the discussion covered the portability issues: Gerald Pfeifer noted that, for example, the route command had a different location under Solaris or FreeBSD, some different command line switches than the Linux ones, and also some stricter privilege checking (only root can list route tables).

But, after some investigation, 'netstat -r -n' seemed to be portable, and working with user privileges on most unices.

Alexandre Julliard proposed another approach:
Having to parse the output of netstat will be more trouble than it's worth IMO. I think we should not try to be too clever here. I'd suggest simply checking for a network interface that is up and not loopback, using the same ioctls than ifconfig does.

Both options seem acceptable, but no implementation has been provided yet.

2. Wine profiling tool

26�Jul�2000 (2 posts) Archive Link: "cprof profiling tool available - useful for WINE development"

People: Jeff Tranter,�,�James Abbatiello

Jeff Tranter from Corel announced:
As part of our WINE development we created a performance profiler tool that supports multi-threaded programs (GNU gprof does not support threads). We've just released it under the GPL and made it available from our open source web site. You can find more information on the tool at http://opensource.corel.com/cprof.html (http://opensource.corel.com/cprof.html)

Instructions for accessing our public CVS server are at http://opensource.corel.com/sourcecode_cvs.html (http://opensource.corel.com/sourcecode_cvs.html)

James Abbatiello gave a try, but run into multiple errors and had to do lots of work by hand, but without any success. It seems that until CVS trees from Corel and WineHQ are properly synchronized, this nice tool shall be hard to tame.

Sharon And Joy

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.