Commit Graph

11208 Commits

Author SHA1 Message Date
Carsten Haitzler c5977a45dd formatting.
SVN revision: 52578
2010-09-22 11:03:28 +00:00
Carsten Haitzler 2dce035395 warning--, formatting.
SVN revision: 52577
2010-09-22 11:02:19 +00:00
Carsten Haitzler fa813fb8f2 size_t -> int.
really - i prefer it and if we hit the 2gb limit of a signed int for
bytes added to a textblock... thats the day we will need evas 2 :)



SVN revision: 52576
2010-09-22 10:58:44 +00:00
Carsten Haitzler 21ec26bed3 move some simple #define constants to typedefs. api compatible tho.
SVN revision: 52575
2010-09-22 10:52:54 +00:00
Cedric BAIL c105d1bcf4 * eet: fix doc about eddc_size.
SVN revision: 52574
2010-09-22 09:50:26 +00:00
Cedric BAIL 8036a32918 * ecore: rename ecore_long_run to ecore_thread_feedback_run.
SVN revision: 52573
2010-09-22 09:47:55 +00:00
Carsten Haitzler 08b5fe088a fmting
SVN revision: 52572
2010-09-22 09:37:18 +00:00
Carsten Haitzler af7910c47b formatting
SVN revision: 52571
2010-09-22 09:28:23 +00:00
Carsten Haitzler f5acc84e67 int -> bool
SVN revision: 52570
2010-09-22 09:19:31 +00:00
Vincent Torri 3fd0a6fb08 remove whitespaces
SVN revision: 52569
2010-09-22 08:03:38 +00:00
Vincent Torri 4d50fdc728 fix doc. There are still 2 warnings about eddc_size not
commented.

SVN revision: 52568
2010-09-22 08:00:36 +00:00
Mike Blumenkrantz 172da9d9cf finally. fix. ssl.
SVN revision: 52567
2010-09-22 07:27:07 +00:00
Carsten Haitzler 011b2ce822 brutally evil... internally.. but it works. map perspective correct
now in gl engine. hooray for that. one complaint less.



SVN revision: 52566
2010-09-22 06:52:28 +00:00
Mike Blumenkrantz 787b09464b disable PSK ciphers for now since they aren't implemented
SVN revision: 52565
2010-09-22 06:13:29 +00:00
Mike Blumenkrantz fb977d72c4 implement functions to time out client connections to our server
*set/get default idle timeout of clients*
+ecore_con_server_timeout_set
+ecore_con_server_timeout_get
*set/get idle timeout of a client*
+ecore_con_client_timeout_set
+ecore_con_client_timeout_get

*get connection uptime of a client/server*
+ecore_con_client_uptime_get
+ecore_con_server_uptime_get

*fix giant ssl server memory leak*


SVN revision: 52564
2010-09-22 04:48:09 +00:00
Mike Blumenkrantz 5420324fd6 add ECORE_CON_USE_MIXED, which is just an alias for SSL3+TLS
SVN revision: 52561
2010-09-22 01:26:23 +00:00
Mike Blumenkrantz 38188213cf !@#$ it, just going to rewrite the whole damn thing:
*fix gnutls client/server implementations to use correct ciphers and free memory properly
*prevent lots of segvs

this message brought to you by gnu dicks


SVN revision: 52559
2010-09-22 00:10:10 +00:00
Vincent Torri 565962c176 now that log colors work on Windows, let eina_log choose
the default colors

SVN revision: 52545
2010-09-21 16:38:33 +00:00
Tom Hacohen 2d3b0200af Evas textblock: merged changes.
SVN revision: 52544
2010-09-21 15:39:26 +00:00
Cedric BAIL 80bbb4584c * eina: call malloc only when content is requested from the pool.
SVN revision: 52543
2010-09-21 15:18:15 +00:00
Iván Briano 68f1a20306 Adding callback for box to be called when a child is added or removed.
Also sets the children_changed flag when changing children list.

    by Otavio Pontes <otavio@profusion.mobi>



SVN revision: 52541
2010-09-21 14:04:28 +00:00
Tom Hacohen ae51c0e16f Evas textblock: Fixed deleting the last visual format in a row of visual formats, for example in '<b>ab</b><tab>cd' the tab wouldn't have gotten erased correctly.
SVN revision: 52540
2010-09-21 13:05:30 +00:00
Mike Blumenkrantz c2da918bd5 fix ecore con openssl clients (really ecore_con_server...) sigh
SVN revision: 52538
2010-09-21 07:04:10 +00:00
Mike Blumenkrantz f7bf462ef4 revert whoops
SVN revision: 52537
2010-09-21 06:52:10 +00:00
Mike Blumenkrantz 005cf69302 ecore_con_url_free migration
SVN revision: 52536
2010-09-21 06:51:07 +00:00
Mike Blumenkrantz 5f34f2cb76 doxy fixes
c/o vtorri


SVN revision: 52535
2010-09-21 06:49:22 +00:00
Mike Blumenkrantz ad3ecd489a ecore_con_url_destroy -> ecore_con_url_free
also some small function rearranging


SVN revision: 52534
2010-09-21 06:49:07 +00:00
Mike Blumenkrantz 6121edec86 this should have gone in with r52531...
SVN revision: 52533
2010-09-21 05:34:49 +00:00
Mike Blumenkrantz 3b55af0102 fix doxy and EAPI for ssl function
SVN revision: 52532
2010-09-21 05:34:10 +00:00
Mike Blumenkrantz 0929a7a9ce -EAPI int ecore_con_url_url_set(Ecore_Con_Url *url_con,
+EAPI Eina_Bool         ecore_con_url_url_set(Ecore_Con_Url *url_con,
-EAPI int               ecore_con_url_httpauth_set(Ecore_Con_Url *url_con,
+EAPI Eina_Bool         ecore_con_url_httpauth_set(Ecore_Con_Url *url_con,
-EAPI int               ecore_con_url_send(Ecore_Con_Url *url_con,
+EAPI Eina_Bool         ecore_con_url_send(Ecore_Con_Url *url_con,
-EAPI int               ecore_con_url_ftp_upload(Ecore_Con_Url *url_con,
+EAPI Eina_Bool         ecore_con_url_ftp_upload(Ecore_Con_Url *url_con,


SVN revision: 52531
2010-09-21 03:14:46 +00:00
Mike Blumenkrantz f6a8d74b50 formatting
SVN revision: 52530
2010-09-21 03:08:35 +00:00
Mike Blumenkrantz f3a2858f37 remove unused variable
SVN revision: 52529
2010-09-21 02:16:40 +00:00
Mike Blumenkrantz 786e2bd7e4 ecore_main_fd_handler_active_get -> Eina_Bool
SVN revision: 52528
2010-09-21 02:06:41 +00:00
Mike Blumenkrantz 89e6e0d30d ecore_ipc_server_connected_get -> Eina_Bool
SVN revision: 52526
2010-09-21 01:58:54 +00:00
Mike Blumenkrantz fdadea7eca ecore_con_server_connected_get now returns Eina_Bool
SVN revision: 52525
2010-09-21 01:48:46 +00:00
Mike Blumenkrantz 9d40676672 distribute examples
SVN revision: 52518
2010-09-20 21:17:39 +00:00
Mike Blumenkrantz 101089c62e ecore_con client example
SVN revision: 52517
2010-09-20 21:16:51 +00:00
Mike Blumenkrantz 45e75f937e ecore_con server example
SVN revision: 52516
2010-09-20 21:13:29 +00:00
Mike Blumenkrantz abed74df3a update doxyfile to warn more for missing params, prevent __UNUSED__ warnings, exclude all ecore_config
SVN revision: 52515
2010-09-20 21:13:05 +00:00
Mike Blumenkrantz 8c26eabb75 remove ecore_config stuff; also accidentally committed undocumented changes in r52512 as follows:
*update Doxyfile to new version
*fix doxygen warnings from samsung <tbd> email
*remove references to code that was probably last used by the roman empire


SVN revision: 52514
2010-09-20 21:12:08 +00:00
Mike Blumenkrantz e56789f77e This is the Doxygen Police! If you committed any of these lines, accept your public shaming!
SVN revision: 52513
2010-09-20 20:52:15 +00:00
Mike Blumenkrantz 130f5bec81 doxy error fixes
SVN revision: 52512
2010-09-20 20:33:50 +00:00
Mike Blumenkrantz 720fe88aef T_UNIX I AM GUESSING THIS WAS YOU!
@Brief != @brief!!!


SVN revision: 52510
2010-09-20 20:18:26 +00:00
Mike Blumenkrantz 40396f6867 doxy todo--
SVN revision: 52509
2010-09-20 20:12:17 +00:00
Mike Blumenkrantz adb2af986b fix doxy list
SVN revision: 52508
2010-09-20 20:07:24 +00:00
Mike Blumenkrantz 3ceb05fe0d authors updates
SVN revision: 52507
2010-09-20 20:04:05 +00:00
Mike Blumenkrantz c578a955ae fix obscure error case where CLIENT_DEL event is not generated after a client ssl pings ecore's server and disconnects immediately after handshake
SVN revision: 52504
2010-09-20 19:32:37 +00:00
Mike Blumenkrantz 137da6826d add cl->client_count member to prevent segv when counting a list that is actually null but hasn't been nulled
SVN revision: 52503
2010-09-20 19:31:11 +00:00
Mike Blumenkrantz d28a6dd5d6 formatting, switch lost_client to bool
SVN revision: 52501
2010-09-20 18:52:52 +00:00
Mike Blumenkrantz 8e3be2fef8 FINALLY FIX OPENSSL SERVER!!!!!!!!! YESSSSSSSSSSSSSSSSSSSSS
SVN revision: 52497
2010-09-20 18:25:21 +00:00
Eduardo de Barros Lima acae2fc370 Eina_List: Revert changes introduced in r52253
The patch was trying to fix an error caused by wrong usage of this function



SVN revision: 52496
2010-09-20 18:20:40 +00:00
Lucas De Marchi 71cba7da35 Fix typos
"he->the" where appropriate



SVN revision: 52493
2010-09-20 17:09:13 +00:00
Tom Hacohen 5ba2cc9c6b Evas textblock: Removed the usuned type field from the textblock item.
SVN revision: 52489
2010-09-20 14:14:52 +00:00
Tom Hacohen b98670ab36 Evas textblock: Updated docs.
SVN revision: 52488
2010-09-20 13:04:37 +00:00
Chidambar Zinnoury 52b0c711a1 ethumb: missing initialization.
Thank you Lucas de Marchi :)


SVN revision: 52487
2010-09-20 12:10:30 +00:00
Lucas De Marchi 9af1273517 Remove unused field from Evas_Object
Previous commits removed the use of havemap_parent. So, remove the
field as well.

Fix some trailing whitespaces too.



SVN revision: 52486
2010-09-20 10:54:09 +00:00
Tom Hacohen 1f8553de01 Evas textblock: Fixed the mixed usage of a replacement char (e.g * on password textblocks) with formats.
SVN revision: 52485
2010-09-20 10:06:01 +00:00
Tom Hacohen e8c10dbce7 Evas textblock: Added evas_textblock_node_format_remove_pair to remove formats.
SVN revision: 52484
2010-09-20 09:44:48 +00:00
Carsten Haitzler 4b73f639d2 fix booboo
SVN revision: 52482
2010-09-20 01:32:05 +00:00
Gustavo Sverzut Barbieri 9f5dd747ef update README.in with relevant information, fix typos and improve formatting.
* add information about modules "=static" suffix.
 * fix lots of typos spotted by emacs "flyspell-mode".
 * add more spacing and separator lines around sections.



SVN revision: 52477
2010-09-19 21:12:04 +00:00
Gustavo Sverzut Barbieri 200fd80f4e warnings-- on 16bpp and 8bpp
SVN revision: 52472
2010-09-19 20:11:42 +00:00
Mike Blumenkrantz 2733968495 fix unused warns
SVN revision: 52470
2010-09-19 19:41:06 +00:00
Mike Blumenkrantz 27e3324ad2 remove ssl2 support completely
SVN revision: 52469
2010-09-19 19:38:38 +00:00
Mike Blumenkrantz d1db6f1cf4 gnutls cleanup: only create diffie hellman bits on server init instead of for each client
overhead/blocking--
speed++


SVN revision: 52468
2010-09-19 19:25:47 +00:00
Mike Blumenkrantz 0c4707dcbc finally crush the last openssl segv
still broken though


SVN revision: 52467
2010-09-19 18:40:43 +00:00
Chidambar Zinnoury 0f4ce94ecf ethumb: automagically orient thumbnails based on:
- metadata contained in files (EXIF only currently) - default active;
 - orientation given by the caller against pixel data orientation.
 Code is based on els_icon.

 Next is to add that through dbus.

 Open question: if orientation is specified, do we need to save the thumbnail in a different folder?


SVN revision: 52465
2010-09-19 17:07:35 +00:00
Tom Hacohen f1f122bd72 Edje entry: Fixed a lot of formatting issues. Patch by Jihoon Kim.
SVN revision: 52461
2010-09-19 08:08:17 +00:00
Carsten Haitzler 624628e9d1 more warngins--
SVN revision: 52460
2010-09-19 03:55:06 +00:00
Carsten Haitzler bcf7b03bae warnings--
SVN revision: 52459
2010-09-19 03:51:56 +00:00
Carsten Haitzler 9a977e2262 warning--
SVN revision: 52458
2010-09-19 03:44:42 +00:00
Carsten Haitzler c1ea3349ac warning--
SVN revision: 52457
2010-09-19 03:29:30 +00:00
Carsten Haitzler 0abc6703ba warning--
SVN revision: 52456
2010-09-19 03:28:18 +00:00
Carsten Haitzler 2939d1548e fmting.
SVN revision: 52455
2010-09-19 03:26:59 +00:00
Carsten Haitzler 308f4b0c22 warnings--
SVN revision: 52454
2010-09-19 03:25:15 +00:00
Carsten Haitzler 773c57ea1a warning--
SVN revision: 52453
2010-09-19 03:09:09 +00:00
Carsten Haitzler 114d49883d warnings--
warnings = 0



SVN revision: 52452
2010-09-19 03:04:17 +00:00
Carsten Haitzler eaa190ad0e warnings--
warnings = 0



SVN revision: 52451
2010-09-19 03:00:12 +00:00
Carsten Haitzler 77e3899ad6 warnings--
SVN revision: 52450
2010-09-19 02:51:46 +00:00
Carsten Haitzler 1a72827555 warnings--
warnings = 0.



SVN revision: 52449
2010-09-19 02:43:08 +00:00
Carsten Haitzler c54bd4052c warning--
SVN revision: 52448
2010-09-19 02:33:19 +00:00
Carsten Haitzler ca722c0c6a fix clip in simple img obj case
SVN revision: 52446
2010-09-19 02:28:09 +00:00
Carsten Haitzler 2f08e231e5 warning--
SVN revision: 52445
2010-09-19 02:10:09 +00:00
Carsten Haitzler 4faa8c38ca warning--
SVN revision: 52444
2010-09-19 02:04:12 +00:00
Carsten Haitzler 1ca42eee39 warning--
SVN revision: 52443
2010-09-19 02:02:09 +00:00
Carsten Haitzler a8c72076d4 warnings--
SVN revision: 52442
2010-09-19 01:57:19 +00:00
Carsten Haitzler 9cb35948bc warning--
SVN revision: 52441
2010-09-19 01:46:13 +00:00
Carsten Haitzler 16c3803a71 warning--
SVN revision: 52440
2010-09-19 01:42:45 +00:00
Carsten Haitzler c3870d27c0 warning--
SVN revision: 52439
2010-09-19 01:41:46 +00:00
Carsten Haitzler 649509a9c2 warning--
SVN revision: 52438
2010-09-19 01:33:51 +00:00
Carsten Haitzler d709b1315a warning-- -> if u dont compile with tls/openssl
SVN revision: 52437
2010-09-19 01:30:30 +00:00
Carsten Haitzler 0e392663ed warning--
SVN revision: 52436
2010-09-19 01:25:30 +00:00
Carsten Haitzler 857119a1c2 maybe actually fix things correctly eh? -> images load again.
SVN revision: 52435
2010-09-19 01:14:56 +00:00
Carsten Haitzler d9aad06334 shuddup gcc wanrings
SVN revision: 52434
2010-09-19 00:36:27 +00:00
Carsten Haitzler ead7329b42 warning--
(shuddup gcc)



SVN revision: 52433
2010-09-19 00:33:45 +00:00
Carsten Haitzler ccb4dbd91b fix gl stride
SVN revision: 52432
2010-09-19 00:28:58 +00:00
Carsten Haitzler f07a07855a warning--
SVN revision: 52431
2010-09-18 23:45:42 +00:00
Carsten Haitzler 5d15f41500 warning--
SVN revision: 52430
2010-09-18 23:39:30 +00:00
Vincent Torri 89038e3b0c free the main region (leak--)
SVN revision: 52429
2010-09-18 23:17:27 +00:00
Gustavo Sverzut Barbieri d89ebf341b cleanup: internal image information is now unsigned.
There is no meaning in negative values for image loading, marking as
dirty or size, so image internals (cache, entry) were changed to
unsigned, reducing possible errors, particularly with overflow.

engines were converted to the new way, but any 3rd party modules will
still work as they should be using values >= 0 only anyway.

please review.

new cases introduced by "comparison between signed and unsigned" were
fixed in the modules that used cache_entry or Image_Entry dimensions.



SVN revision: 52428
2010-09-18 23:16:25 +00:00
Gustavo Sverzut Barbieri 5dd0eeb7ab cleanup: fb uses unsigned to match linux/fb.h
this removes warnings and keep consistency between system and evas
value signs.



SVN revision: 52427
2010-09-18 23:11:01 +00:00
Gustavo Sverzut Barbieri 19f0eebd27 cleanup: simple clean of "comparison between signed and unsigned errors"
not much to see here, please review but these are simple changes.



SVN revision: 52426
2010-09-18 23:07:31 +00:00
Gustavo Sverzut Barbieri 2640984384 cleanup: evas_macros.h - less comparison between signed and unsigned errors
update macro to do fine with unsigned integers (avoids width and
height getting below 0) and force casts.



SVN revision: 52425
2010-09-18 23:06:22 +00:00
Mike Blumenkrantz 5775219503 check return of ssl_server_prepare
SVN revision: 52423
2010-09-18 19:29:43 +00:00
Mike Blumenkrantz 4239d5d67f giant cleanups/rewrites which are unnoticeable to users:
*client->server renamed client->host_server to clarify ambiguity
*ecore_con_ssl_client_prepare.* killed off because it was useless and wrong
*openssl generates only one SSL_CTX per server now instead of a new one for each client, which is broken/unnecessary/wasteful
**as a result, certificate loading is now only done once
**additionally this will save a very large amount of memory and avoid unnecessary/broken refcounting
*ecore_con_ssl_server_prepare.* rewritten to actually be useful instead of just a lazy way to null pointers
**all SSL_CTX code now goes here^
*some formatting fixes
*internal function renames


SVN revision: 52422
2010-09-18 19:26:05 +00:00
Gustavo Sverzut Barbieri e37c1c7a0a cleanup: fix some "unused" errors from -Wextra.
As we're heading for a release we better remove as much errors as
possible and as the first step I'm removing warnings due unused
parameters, variables and functions. These tend to pollute real errors
spotted by -Wall and clang/llvm.

This does not fixes all, just the clear that could be set to
__UNUSED__, particularly to do (and I'd like some help from the
authors):

 * src/lib/engines/common/evas_font_{draw,query}.c (tasn):
   intl_props is just used while doing BIDI, but also used in other
   #ifdef blocks :-/

 * evas_map_* (raster):
   huge amount of warnings, code is quite confusing and thus I'm not
   touching it. I have no idea whenever the commented blocks or extra
   parameters are intended to be used or no.

 * src/modules/engines/fbevas_fb_main.c (raster?):
   is fb_setvt() to be used? If not do you mind removing it?

 * src/modules/engines/gl_{common,x11} (raster):
   huge amount of warnings, code is quite nested and full of #ifdefs
   that does not help to give a clear picture of what's going on.

 * src/bin/evas_cserve_main.c (raster):
   I could have ignored most of the errors, but is the code correct? I
   mean, there is no unload of images being applied. If you confirm
   none of those warnings are harmful I can flag them as unused.

 * src/lib/engines/common_8 (dottedmag):
   lots of unused functions that were acquired from common_16, they
   are unused and if they will not, then they should be removed.



SVN revision: 52421
2010-09-18 19:17:41 +00:00
Gustavo Sverzut Barbieri a22dac6ea3 Add missing evas_common prefix, avoid symbol redefinition.
soft16 was written as a single engine, thus it was all static/global
and had no EAPI in its functions, but then it was moved into
"src/lib/common_16" and got that, but got no prefix! That could cause
clash with other libraries, so adding such prefix.

soft8 was a copy of 16, thus had the same problems.

the engines were all based on software_x11, thus they defined the same
methods to deal with Xlib, however if you link them all in the same
binary (--enable-MODULE=static), the symbol would be redefined. Rename
symbols according to their module.



SVN revision: 52420
2010-09-18 17:43:13 +00:00
Vincent Torri d128fb54a0 remove debug messages
SVN revision: 52419
2010-09-18 17:31:00 +00:00
Vincent Torri f4f1dcf519 add the possibility to have shaped windows in ecore_evas (gdi
only for now)


SVN revision: 52418
2010-09-18 17:24:31 +00:00
Vincent Torri 9acfb01811 Fix shaped windows on Windows. It uses regions.
Advantages:
 * it is the simplest method to implement

Disadvantages:
 * it's slow
 * it does not take into account transparency
 * it does not work with the composite manager (Windows >= Vista)

Layered windows should be used (all the disadvantaged above are
fixed), but i've never succeeded in making them work.

SVN revision: 52416
2010-09-18 17:19:11 +00:00
Carsten Haitzler 6f4d152810 fix actually supporting clip for maps in gl.
SVN revision: 52415
2010-09-18 14:23:20 +00:00
Carsten Haitzler 8df657a51a be less agressive performance-wise but clear up some gl sync issues
that have been lurking.



SVN revision: 52414
2010-09-18 13:49:56 +00:00
Carsten Haitzler fa5b80b879 dont use tls max if it doesnt exist eh?
SVN revision: 52413
2010-09-18 11:41:15 +00:00
Mike Blumenkrantz 36bd287841 add mixed protocol for gnutls as well
SVN revision: 52412
2010-09-18 08:46:17 +00:00
Mike Blumenkrantz a8ef623de7 allow mixing sslv3+tlsv1 in openssl, FINALLY FIX INITIAL BUG FOR OPENSSL SERVERS!
note that openssl servers still do not work because there is more than one bug :/


SVN revision: 52411
2010-09-18 08:36:13 +00:00
Lucas De Marchi 4dcae856ea Fix function call after previous change
Forgot one function call.



SVN revision: 52408
2010-09-18 06:41:04 +00:00
Lucas De Marchi 4db4b59b02 Make _evas_event_havemap_adjust() recursive
Make this function recursive, so it can adjust the coords for all
parent objects. It starts with the grand-grand-grand-...-parent and goes
down until the same object.



SVN revision: 52407
2010-09-18 06:31:41 +00:00
Lucas De Marchi 1a0a9b68f6 Use also map of current object
Do not use only the map of the parent. Apply the obj's map first and
then go to the parent.

+  simple formatting



SVN revision: 52406
2010-09-18 06:31:12 +00:00
Lucas De Marchi a1a69cae0f Remove havemap_parent shortcut
SVN revision: 52405
2010-09-18 06:31:05 +00:00
Lucas De Marchi e478d25f34 Clean unneeded check
SVN revision: 52404
2010-09-18 06:30:59 +00:00
Lucas De Marchi 6f1e1a950e Don't set parmap for the other objects
We are iterating EINA_INLIST_REVERSE_FOREACH(list, obj) in a recursive
function. Don't mark the other objects as havemap_parent if the first
in the list has it.



SVN revision: 52403
2010-09-18 06:30:51 +00:00
Lucas De Marchi bcc9b853ed formatting
SVN revision: 52402
2010-09-18 06:30:45 +00:00
Lucas De Marchi fcd5f99652 clean a bit more
SVN revision: 52401
2010-09-18 06:30:37 +00:00
Lucas De Marchi 69ffdd1b93 Clean it a bit to be easier to understand
SVN revision: 52400
2010-09-18 06:30:30 +00:00
Mike Blumenkrantz f62bcf1ff1 switch private struct members from char bitfields to Eina_Bool bitfields
no noticeable difference


SVN revision: 52399
2010-09-18 06:30:13 +00:00
Lucas De Marchi a7fcb37a7f Revert r52345
This function is not needed at all, and as of now it's borken. Coming patches
will properly fix coords on events.



SVN revision: 52398
2010-09-18 06:29:47 +00:00
Mike Blumenkrantz f8d56a023f a loooooooot of outdents and reformatting
SVN revision: 52397
2010-09-18 06:06:05 +00:00
Mike Blumenkrantz e9361b4e1c whoops forgot an UNUSED for openssl
SVN revision: 52396
2010-09-18 05:32:27 +00:00
Mike Blumenkrantz ac86c1aaa4 more progress on fixing openssl servers, fix all warnings, add error checking for openssl code
SVN revision: 52395
2010-09-18 05:31:00 +00:00
Mike Blumenkrantz 3736856f82 stop the indenting and line wrapping madness!!!!!!!
SVN revision: 52394
2010-09-18 05:30:16 +00:00
Mike Blumenkrantz 8cd87afb04 outdent for readability
SVN revision: 52393
2010-09-18 04:59:11 +00:00
Mike Blumenkrantz d8afcde705 add rest of ssl algorithms and clean up
SVN revision: 52391
2010-09-18 01:27:38 +00:00
Mike Blumenkrantz 8db37b8518 formatting
SVN revision: 52390
2010-09-18 01:20:25 +00:00
Mike Blumenkrantz 5e499b0c0e fix gnutls ssl
SVN revision: 52385
2010-09-17 19:43:03 +00:00
Mike Blumenkrantz 6542578149 new ssl error output: now with detailed location info and 50% more fiber!
SVN revision: 52380
2010-09-17 17:39:32 +00:00
Mike Blumenkrantz d74f46d5a5 simplify error conditions and output errrors on failure
SVN revision: 52378
2010-09-17 17:22:59 +00:00
Mike Blumenkrantz c7608248dd enable compression for gnutls, add error checks to client functions
SVN revision: 52377
2010-09-17 17:18:41 +00:00
Mike Blumenkrantz cb0c97b6c3 add error checking for servers
SVN revision: 52376
2010-09-17 17:03:15 +00:00
Cedric BAIL 90858b58c1 * edje: remove unused variable.
SVN revision: 52364
2010-09-17 12:05:46 +00:00
Mike Blumenkrantz 3e98b064d3 use right pointer for ssl ctx to avoid segv
SVN revision: 52362
2010-09-17 08:58:23 +00:00
Mike Blumenkrantz f3a9a92d36 fix ssl to work with cert loading flag
SVN revision: 52361
2010-09-17 08:00:42 +00:00
Vincent Torri 5973521793 check returned value of evas_engine_info_set()
SVN revision: 52360
2010-09-17 06:14:08 +00:00
Cedric BAIL e01c8dacc2 * edje: prevent segv due to dead relative part.
SVN revision: 52347
2010-09-16 15:49:56 +00:00
Lucas De Marchi 251a60ab09 Add function to check if point is inside an object
Add evas_object_inside_get() to check if a certain (x,y) point is inside
an evas_object. This is needed because there's no simple way to
determine it outside of evas when map transformations are used.

For instance, edje uses evas_object_geometry_get() and checks if point is
whithin the rectangle. This is wrong because the object might be
rotated, scaled. Below is a test program:

/**
 * Simple Evas test
 *
 * Compile with: gcc -O0 -g  -o evas_hello_world evas_hello_world.c $(pkg-config --cflags --libs eina evas ecore ecore-evas)
 */
 #include <Eina.h>
 #include <Evas.h>
 #include <Ecore_Evas.h>
 #include <Ecore.h>
 #include <stdio.h>

 #define WIDTH (320)
 #define HEIGHT (240)

Eina_Bool main_signal_exit(void *data, int ev_type, void *ev)
{
    ecore_main_loop_quit();
    return EINA_FALSE;
}

static void
_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
    Evas_Event_Mouse_Up *ev = event_info;
    Eina_Bool b;

    b = evas_object_inside_get(obj, ev->canvas.x, ev->canvas.y);
    fprintf(stderr, "mouse_up: x=%d, y=%d inside=%d\n", ev->canvas.x,
            ev->canvas.y, b);
}

static void
_cb_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
    Evas_Event_Mouse_Move *ev = event_info;
    const char *id = data;
    Eina_Bool b;

    b = evas_object_inside_get(obj, ev->cur.canvas.x, ev->cur.canvas.y);
    fprintf(stderr, "[%s] mouse_move: x=%d, y=%d inside=%d\n", id,
            ev->cur.canvas.x, ev->cur.canvas.y, b);
}

int main(void)
{
   Evas *evas;
   Ecore_Evas *window;
   Evas_Object *bg, *r1, *r2;
   Evas_Map *m;

   evas_init();
   ecore_init();
   ecore_evas_init();

   window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
   if (!evas)
     return -1;

   evas = ecore_evas_get(window);

   bg = evas_object_rectangle_add(evas);
   evas_object_color_set(bg, 255, 255, 255, 255); // white bg
   evas_object_move(bg, 0, 0);                    // at origin
   evas_object_resize(bg, WIDTH, HEIGHT);         // covers full evas
   evas_object_show(bg);

   r1 = evas_object_rectangle_add(evas);
   evas_object_color_set(r1, 255, 0, 0, 255); // 100% opaque red
   evas_object_move(r1, 50, 50);
   evas_object_resize(r1, 100, 100);

   m = evas_map_new(4);
   evas_map_util_points_populate_from_object(m, r1);
   evas_map_util_rotate(m, 45.0, 100, 100);
   evas_map_alpha_set(m, 0);
   evas_map_smooth_set(m, 1);

   evas_object_map_set(r1, m);
   evas_object_map_enable_set(r1, 1);
   evas_map_free(m);
   evas_object_show(r1);
   evas_object_event_callback_add(r1, EVAS_CALLBACK_MOUSE_UP, _cb, NULL);
   evas_object_event_callback_add(r1, EVAS_CALLBACK_MOUSE_MOVE, _cb_move, "r1");

   r2 = evas_object_rectangle_add(evas);
   evas_object_color_set(r2, 0, 255, 0, 255);
   evas_object_move(r2, 210, 150);
   evas_object_resize(r2, 50, 50);
   evas_object_show(r2);
   evas_object_event_callback_add(r2, EVAS_CALLBACK_MOUSE_MOVE, _cb_move, "r2");

   ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, main_signal_exit, evas);

   ecore_evas_show(window);
   ecore_main_loop_begin();

   ecore_evas_free(window);

   ecore_evas_shutdown();
   ecore_shutdown();
   evas_shutdown();

   return 0;
}




SVN revision: 52345
2010-09-16 13:59:46 +00:00
Tom Hacohen 12b55be8af Evas textblock: Added a lot of fixes to evas_textblock_cursor_geometry_get in the case where ctype = EVAS_TEXTBLOCK_CURSOR_BEFORE
SVN revision: 52341
2010-09-16 09:59:39 +00:00
Tom Hacohen 9fb94f209b Evas textblock: Fixed evas_textblock_range_text_get that didn't work on textblocks with no formats at all (not even newlines or tabs).
SVN revision: 52339
2010-09-16 07:12:23 +00:00
Lucas De Marchi 08055d63b9 trivial: spelling in documentation
Some misspellings found in doxy.



SVN revision: 52326
2010-09-15 20:40:51 +00:00
Iván Briano 20ea0eef4e Check there are callbacks before trying to copy them.
Patch by Otávio Pontes


SVN revision: 52323
2010-09-15 19:51:08 +00:00
Cedric BAIL fdc15d4495 * evas: we don't need all the stuff from pthreads to do preload.
SVN revision: 52311
2010-09-15 17:20:37 +00:00
Cedric BAIL 8102552b7a * edje: cleanup aspect code and reduce memory presure.
SVN revision: 52304
2010-09-15 14:15:23 +00:00
Cedric BAIL 10356b8e50 * edje: turn it on again and go fix your theme :-)
SVN revision: 52303
2010-09-15 14:09:58 +00:00
Tom Hacohen 612b3eda81 Evas textblock: fix deleting the first tab in 'a<TAB><TAB>a' that caused weird behavior.
The solution is that we only delete invisible standalones now, not visible ones, this is correct intuitively and of course fixes the bug.

SVN revision: 52302
2010-09-15 14:07:09 +00:00
Tom Hacohen b59743febd Evas textblock: we should also take width of tabs into account when calculating line width.
SVN revision: 52297
2010-09-15 12:45:06 +00:00
Tom Hacohen 8b6083ec26 Evas textblock: Fix and simplify _find_layout_item_line_match which is an helper function used in many parts of textblock.
SVN revision: 52295
2010-09-15 10:24:07 +00:00
Tom Hacohen 108bdeeadd Evas font: removed old (already removed a long time ago) functions from evas_font.h.
SVN revision: 52293
2010-09-15 09:11:19 +00:00
Vincent Torri 56fa2461ed warning--
SVN revision: 52292
2010-09-15 08:41:41 +00:00
Rafael Antognolli 94540f3b5b Changing Ethumb license from LGPL3 to LGPL2.
Making this change to be in agreement with some other EFL libraries
under LGPL.



SVN revision: 52275
2010-09-14 23:02:45 +00:00
Carsten Haitzler c1c7e901f5 CEEEEEEEEEDRICCCCCCCCCCCCCCCC!
borked e conf panel. unbork. disable aspect.



SVN revision: 52273
2010-09-14 22:32:34 +00:00
Bruno Dilly d0eb6e4054 Add missing bogosity X cursor
SVN revision: 52270
2010-09-14 21:43:44 +00:00
Vincent Torri 93f58106a6 ecore_win32 does not depend on Evas.
SVN revision: 52264
2010-09-14 21:25:31 +00:00
Vincent Torri 70622ee748 * src/lib/Makefile.am:
* src/lib/Evil.h:
* src/lib/evil_time.c:
* src/lib/evil_time.h:
add locatime_r() for calendar in Elementary.


SVN revision: 52263
2010-09-14 21:24:25 +00:00
Eduardo de Barros Lima 2216c53641 Eina_List: Avoid Segfault
Some inputs in which tmp - cur is greater than the number of previous nodes
in list, were causing ct to be null at end of loop.

Patch by Jonas M. Gastal <jgastal@profusion.mobi>



SVN revision: 52253
2010-09-14 18:29:30 +00:00
Vincent Torri 47b00392a7 useless define (already defined in command line)
SVN revision: 52247
2010-09-14 16:47:01 +00:00
Vincent Torri f7b1362905 add braces to remove ambiguous condition warning
SVN revision: 52246
2010-09-14 15:57:20 +00:00
Cedric BAIL 2e87895f67 * edje: remove use of flags as it was always set to FLAG_XY
in _edje_part_recalc_single.


SVN revision: 52245
2010-09-14 15:53:47 +00:00
Cedric BAIL d1203fc0ca * edje: fix edje use of aspect when constrained by min or max.
NOTE: If you have swallow or parts that where constrained by min and
	max, and you used aspect on them, expect change on your layout.


SVN revision: 52244
2010-09-14 15:36:16 +00:00
Tom Hacohen 78deeca6ba Evas textblock: Fixed the bug with disappearing text with many tabs and text.
I removed a function that caused the issue and made no sense at all, honestly, it didn't make any sense.
I did a lot of testing trying to see if there are any new bugs after the fix, and nothing, so I guess my instincts were correct.
Please if you can, check out the removed function (_layout_walk_back_to_item_word_redo) and see if it makes any sense to you, if it does, please let me know.

SVN revision: 52243
2010-09-14 13:57:26 +00:00
Carsten Haitzler f200c483b4 epoll - bad. disable default support. u have to --enable it. don't
--enable it if u want elm quicklaunch to work.



SVN revision: 52240
2010-09-14 10:38:28 +00:00
Carsten Haitzler 4081d86c6c better cleanup of poll fd's on shutdown
SVN revision: 52229
2010-09-14 00:53:57 +00:00
Carsten Haitzler 4f823dab67 fix first map bug handling to handle more than first window map.
SVN revision: 52200
2010-09-13 22:16:26 +00:00
Lucas De Marchi e46b64199f Don't check return value of alloca
alloca() doesn't return NULL on error, so do not check its return value.



SVN revision: 52199
2010-09-13 18:40:32 +00:00
Iván Briano 2bd045dd1f Pending patch from glima, who's on vacations.
Add two new canvas level callbacks: OBJECT_FOCUS_IN/OUT
As we already had callbacks for objects gaining or losing focus, then
two more for the Canvas, now we can have the entire Evas be notified when
any object changes its focused status. The object in question is passed
as the event_info for the callback.


SVN revision: 52196
2010-09-13 18:04:23 +00:00
Lucas De Marchi 9c091e1714 Assert cache->usage never becomes negative
Assert cache->usage never becomes negative as was occurring before the
fix in r52149.

Just in time, the fix in r52149 was made by Ulisses, not me.



SVN revision: 52190
2010-09-13 13:58:34 +00:00
Cedric BAIL d287f127fd * eio: callback are allowed to modify their own data.
Don't know how I wrote this non sense.


SVN revision: 52189
2010-09-13 13:44:24 +00:00
Carsten Haitzler 2303255182 dont get item anchors so often!
SVN revision: 52187
2010-09-13 12:08:19 +00:00
Brett Nash ee8881634b Add a semicolon. GCC: This ones for you.
SVN revision: 52184
2010-09-13 09:16:01 +00:00
Brett Nash 5ea066ec74 Deniggle and rename the exore_x_dndn_callback_pos_update_set call.
SVN revision: 52183
2010-09-13 09:15:57 +00:00
Brett Nash ba4ae189ea Use -1.
SVN revision: 52182
2010-09-13 09:15:53 +00:00
Brett Nash e36847a0ab Xdnd callback (API Addition): Rationale below.
Essentially the problem is this: For drag and drop Ecore currently handles the
position update calls.  But usually the application wants to display some user
feedback - a window to display the drag selection for instance.

Now the way e17 does it is grab the mouse cursor movements and track them
itself.  However ecore is already doing this, it's already walking window
trees, calculating real positions, _and_ sending them in an X client message.
So it seems rather silly to duplicate the code in the user app to get the same
info.

We could possibly have added a new event, but then we need to deal the fact
the position update may arrive _After_ the item has been dropped.  Hilarity
ensures[1].

This callback is meant for purely the selection owner of the drag to use, so
it is a callback set, not an add.

[1] Segfaults probably.  Nothing funnier.

SVN revision: 52181
2010-09-13 09:15:50 +00:00
Brett Nash 310ee61355 Always return an x rander version (unset in this case).
SVN revision: 52180
2010-09-13 09:15:45 +00:00
Mike Blumenkrantz 534bd43e9d initial doxy patch for rbtree from vtorri
CEDRIC WRITE DOCS FOR THIS!


SVN revision: 52172
2010-09-12 19:28:18 +00:00
Tom Hacohen 527a3f3579 Edje entry: Fixed a selection bug with IMF enabled and fix a couple of indentation issues, and a saftey check.
Patch by Jihoon Kim.

SVN revision: 52165
2010-09-12 08:15:35 +00:00
Mike Blumenkrantz 1970f8dd6c more doxy from vtorri
SVN revision: 52164
2010-09-12 08:03:21 +00:00
Mike Blumenkrantz eb775222a5 variable name changes for accessor functions
patch by vtorry
compile testing frowned upon by andredieb


SVN revision: 52163
2010-09-12 06:49:57 +00:00
Lucas De Marchi d32c0f99bd Fix accounting of memory usage in image cache
Memory usage was not accounted right because
cache->func.mem_size_get(ie) returns 0 when called after
cache->func.destructor(ie). Thus the total memory used, kept on
cache->usage, is never decremented in _evas_cache_image_remove_activ()

This implies that cache->usage will keep growing and eventually it will
overflow, becoming negative. So evas_cache_image_flush() will not do its
job because cache->limit (assumed to be positive) will not be less than
cache->usage anymore. So the total memory allocated will start to grow
and the limit won't be respected.

Strictly speaking, it's not a leak, since all the memory will be
eventually freed when evas shutdown is called, but the program might be
killed by over allocating memory. This is caught by valgrind with the
massif tool. The graphic below shows that in the end a huge memory amount
is allocated. This is the moment when cache->usage became negative.

MB
26.04^                                                                   #
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
|                                                                   #::::
| :::::::::::::::::@@:::::::::@:::@::::::@::::::::::::::::::::::::::#::::
| : ::: ::: ::: :::@ :: ::: : @:: @:: :::@: :: ::: : : :: :: : ::: :#::::
0 +----------------------------------------------------------------------->Gi
0                                                                   54.83

This patch is a one line fix, which swaps the calls to
_evas_cache_image_remove_activ() and cache->func.destructor() making
cache->limit to be respected.



SVN revision: 52149
2010-09-10 23:00:26 +00:00
Lucas De Marchi c4a0cef6e6 Fix typos in docs
* eina_thread_init doesn't exist. eina_threads_init it is;
* 'mutexes' is a more common spelling, not 'mutexs'



SVN revision: 52136
2010-09-10 12:01:52 +00:00
Lucas De Marchi 77d42e9cca Simplify code by removing unneeded auxiliary variable
SVN revision: 52135
2010-09-10 11:25:26 +00:00
Lucas De Marchi bd12ce52f7 Refactor function to return as early as possible
Instead of a looooooong 'if', return on the contrary.



SVN revision: 52134
2010-09-10 11:25:15 +00:00
Lucas De Marchi fa4e9c4f18 Formatting
SVN revision: 52133
2010-09-10 11:25:05 +00:00
Lucas De Marchi fe7cfb1e16 Refactor jumps
Instead of relying on the value of edf (and having to set it on all
places to NULL) jump to 'open' label on the only possible case of the
control flow.



SVN revision: 52132
2010-09-10 11:24:49 +00:00
Carsten Haitzler fae947f8ea do extra composite checks - need to do the lot to be useful.
SVN revision: 52121
2010-09-10 06:57:21 +00:00
Lucas De Marchi 31c1225bd7 Fix parameter order in help
Calling help in edje_player was showing the wrong order for sending a signal.
The right order is the same of the function edje_object_signal_emit()




SVN revision: 52105
2010-09-09 20:35:44 +00:00
Lucas De Marchi 19c1b1e899 Fix priority dropping
Lowering priority was wrong. Some bugs:

1) You don't lower the priority by setting the scheduler policy to some
   of the real-time ones (SCHED_RR or SCHER_FIFO). If you do so, you are
   actually increasing the priority of the workers and your main thread
   you be preempted and stalled until the workers complete their job.
   Fortunately this will only happen if your programming is running as
   root, as normal users (without CAP_SYS_NICE) are unable to set
   priority to real-time values.

2) setpriority() and getpriority() are not part of pthread and you can't
   use the id returned by pthread. Manpage explicitly says so on
   pthread_self(3):
   "The  thread ID returned by pthread_self() is not the same thing as the
       kernel thread ID returned by a call to gettid(2)."

   Since glibc does not have a gettid, here we are using
   syscall(SYS_gettid)

This patch was tested with the program below. Compile and run:
   $ gcc p_hello2.c -o p_hello2 -lpthread
   $ ./p_hello2 10

You'll see that the main thread remains with its priority and threads
created by the main thread change their own niceness.

 #include <errno.h>
 #include <pthread.h>
 #include <sched.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/resource.h>
 #include <sys/syscall.h>
 #include <sys/time.h>
 #include <sys/types.h>

/* Lower priority of current thread.
 *
 * It's used by worker threads so they use up "bg cpu" as it was really intended
 * to work. If current thread is running with real-time priority, we decrease
 * our priority by 5. This is done in a portable way.  Otherwise we are
 * running with SCHED_OTHER policy and there's no portable way to set the nice
 * level on current thread. In Linux, it does work and it's the only one that is
 * implemented.
 */
static void
_ecore_thread_pri_drop(void)
{
   struct sched_param param;
   int pol, prio, ret;
   pid_t tid;
   pthread_t pthread_id;

   pthread_id = pthread_self();
   ret = pthread_getschedparam(pthread_id, &pol, &param);
   if (ret)
     {
        fprintf(stderr, "Unable to query sched parameters\n");
        return;
     }

   if (pol == SCHED_RR || pol == SCHED_FIFO)
     {
        prio = sched_get_priority_max(pol);
        param.sched_priority += 5;
        if (prio > 0 && param.sched_priority > prio)
           param.sched_priority = prio;

        pthread_setschedparam(pthread_id, pol, &param);
     }
 #ifdef __linux__
   else
     {
        tid = syscall(SYS_gettid);
        errno = 0;
        prio = getpriority(PRIO_PROCESS, tid);
        if (errno == 0)
          {
             prio += 5;
             if (prio > 19)
                prio = 19;

             setpriority(PRIO_PROCESS, tid, prio);
          }
     }
 #endif
}

/*
 * p_hello.c -- a hello program (in pthread)
 */
 #define MAX_THREAD 1000

typedef struct {
    int id;
} parm;

void *hello(void *arg)
{
    parm *p=(parm *)arg;
    pid_t tid;
    int prio;
    tid =  syscall(SYS_gettid);
    printf("[%d] Hello from node %d\n", tid, p->id);
    pthread_yield();

    printf("[%d] HELLO!\n", tid);

    _ecore_thread_pri_drop();

    prio = getpriority(PRIO_PROCESS, tid);
    printf("[%d] New nice value: %d\n", tid, prio);
    return (NULL);
}

int main(int argc, char* argv[]) {
    int n,i;
    pthread_t *threads;
    pthread_attr_t pthread_custom_attr;
    parm *p;

    pid_t tid;
    int prio;

    if (argc != 2)
    {
        printf ("Usage: %s n\n  where n is no. of threads\n",argv[0]);
        exit(1);
    }

    n=atoi(argv[1]);

    if ((n < 1) || (n > MAX_THREAD)) {
        printf ("The no of thread should between 1 and %d.\n",MAX_THREAD);
        exit(1);
    }

    threads = (pthread_t *)malloc(n * sizeof(*threads));
    pthread_attr_init(&pthread_custom_attr);

    p = (parm *)malloc(n * sizeof(parm));
    /* Start up thread */

    tid = syscall(SYS_gettid);
    for (i=0; i<n; i++) {
        prio = getpriority(PRIO_PROCESS, tid);
        printf("[%d] root thread nice value: %d\n", tid, prio);

        p[i].id=i;
        pthread_create(&threads[i], &pthread_custom_attr, hello, (void *)(p+i));
    }

    /* Synchronize the completion of each thread. */

    for (i=0; i<n; i++) {
        pthread_join(threads[i],NULL);
    }
    free(p);

    return 0;
}



SVN revision: 52040
2010-09-09 12:45:39 +00:00
Lucas De Marchi 325e08065d Fix priority dropping
Lowering priority was wrong. Some bugs:

1) You don't lower the priority by setting the scheduler policy to some
   of the real-time ones (SCHED_RR or SCHER_FIFO). If you do so, you are
   actually increasing the priority of the workers and your main thread
   you be preempted and stalled until the workers complete their job.
   Fortunately this will only happen if your programming is running as
   root, as normal users (without CAP_SYS_NICE) are unable to set
   priority to real-time values.

2) setpriority() and getpriority() are not part of pthread and you can't
   use the id returned by pthread. Manpage explicitly says so on
   pthread_self(3):
   "The  thread ID returned by pthread_self() is not the same thing as the
       kernel thread ID returned by a call to gettid(2)."

   Since glibc does not have a gettid, here we are using
   syscall(SYS_gettid)

This patch was tested with the program below. Compile and run:
   $ gcc p_hello2.c -o p_hello2 -lpthread
   $ ./p_hello2 10

You'll see that the main thread remains with its priority and threads
created by the main thread change their own niceness.

#include <errno.h>
#include <pthread.h>
#include <sched.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/resource.h>
#include <sys/syscall.h>
#include <sys/time.h>
#include <sys/types.h>

/* Lower priority of current thread.
 *
 * It's used by worker threads so they use up "bg cpu" as it was really intended
 * to work. If current thread is running with real-time priority, we decrease
 * our priority by 5. This is done in a portable way.  Otherwise we are
 * running with SCHED_OTHER policy and there's no portable way to set the nice
 * level on current thread. In Linux, it does work and it's the only one that is
 * implemented.
 */
static void
_ecore_thread_pri_drop(void)
{
   struct sched_param param;
   int pol, prio, ret;
   pid_t tid;
   pthread_t pthread_id;

   pthread_id = pthread_self();
   ret = pthread_getschedparam(pthread_id, &pol, &param);
   if (ret)
     {
        fprintf(stderr, "Unable to query sched parameters\n");
        return;
     }

   if (pol == SCHED_RR || pol == SCHED_FIFO)
     {
        prio = sched_get_priority_max(pol);
        param.sched_priority += 5;
        if (prio > 0 && param.sched_priority > prio)
           param.sched_priority = prio;

        pthread_setschedparam(pthread_id, pol, &param);
     }
#ifdef __linux__
   else
     {
        tid = syscall(SYS_gettid);
        errno = 0;
        prio = getpriority(PRIO_PROCESS, tid);
        if (errno == 0)
          {
             prio += 5;
             if (prio > 19)
                prio = 19;

             setpriority(PRIO_PROCESS, tid, prio);
          }
     }
 #endif
}

/*
 * p_hello.c -- a hello program (in pthread)
 */
#define MAX_THREAD 1000

typedef struct {
    int id;
} parm;

void *hello(void *arg)
{
    parm *p=(parm *)arg;
    pid_t tid;
    int prio;
    tid =  syscall(SYS_gettid);
    printf("[%d] Hello from node %d\n", tid, p->id);
    pthread_yield();

    printf("[%d] tid=%lu\n", tid);

    _ecore_thread_pri_drop();

    prio = getpriority(PRIO_PROCESS, tid);
    printf("[%d] New nice value: %d\n", tid, prio);
    return (NULL);
}

void main(int argc, char* argv[]) {
    int n,i;
    pthread_t *threads;
    pthread_attr_t pthread_custom_attr;
    parm *p;

    pid_t tid;
    int prio;

    if (argc != 2)
    {
        printf ("Usage: %s n\n  where n is no. of threads\n",argv[0]);
        exit(1);
    }

    n=atoi(argv[1]);

    if ((n < 1) || (n > MAX_THREAD)) {
        printf ("The no of thread should between 1 and %d.\n",MAX_THREAD);
        exit(1);
    }

    threads = (pthread_t *)malloc(n * sizeof(*threads));
    pthread_attr_init(&pthread_custom_attr);

    p = (parm *)malloc(n * sizeof(parm));
    /* Start up thread */

    tid = syscall(SYS_gettid);
    for (i=0; i<n; i++) {
        prio = getpriority(PRIO_PROCESS, tid);
        printf("[%d] root thread nice value: %d\n", tid, prio);

        p[i].id=i;
        pthread_create(&threads[i], &pthread_custom_attr, hello, (void *)(p+i));
    }

    /* Synchronize the completion of each thread. */

    for (i=0; i<n; i++) {
        pthread_join(threads[i],NULL);
    }
    free(p);
}



SVN revision: 52039
2010-09-09 11:48:31 +00:00
Carsten Haitzler 9a4aa69e71 return NULL after if to avoid other lku
SVN revision: 52033
2010-09-09 07:27:56 +00:00
Carsten Haitzler 40e57dd2d7 that should have been an LKU
SVN revision: 52032
2010-09-09 07:23:55 +00:00
Carsten Haitzler 5f6add7b2f and some final fixes anc cleanups - tested.
SVN revision: 52031
2010-09-09 07:14:11 +00:00
Carsten Haitzler c4ee82f6a7 lots of cleanups... actually tested! :)
SVN revision: 52030
2010-09-09 07:08:10 +00:00
Carsten Haitzler 679d566fde actually revert that - not enough testing. need to work on it.
SVN revision: 52029
2010-09-09 06:36:01 +00:00
Carsten Haitzler 4975395633 major clean of the preload stuff. leaks. bugs. nastinessesssss...
SVN revision: 52028
2010-09-09 06:31:29 +00:00
Brett Nash c69628f5af Whitespace --;
SVN revision: 52024
2010-09-09 05:36:56 +00:00